diff --git a/CHANGELOG b/CHANGELOG
index 5569503260247f0d2becd29585d48f0bf4bfc60c..697e5b2d803cdbc54e631894f7ef7ac2f50f9b2c 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -5,6 +5,12 @@
 Changelog
 ================================================================================
 
+Release 3.5.0
+
+* Updates build system: Removed custom boost setup code and silenced cmake
+  warnings.
+* Updates OpenStructure dependency to 2.10.0.
+
 Release 3.4.2
 --------------------------------------------------------------------------------
 
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 541fa7994661bd9466244c8329d09e9f1eb2d46b..fe977d9cc5ba7e19714004effed115a9ad1b321a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,7 +6,7 @@
 #    DISABLE_DOCTEST: Don't run example code from documentation on 'make check'
 #    DISABLE_LINKCHECK: Don't test links from documentation on 'make check'
 # (if documentation is disabled, there is no doctest, linkcheck at all)
-cmake_minimum_required(VERSION 3.10.2 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.22 FATAL_ERROR)
 
 # Set CMake policies
 # Behaviour of target_link_libraries, always link by full path. CMP0060 can
@@ -15,6 +15,28 @@ cmake_minimum_required(VERSION 3.10.2 FATAL_ERROR)
 # manually forced CMake to the new scheme.
 cmake_policy(SET CMP0060 NEW)
 
+if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.31.0")
+  # See CMP0177 for more information
+  # To summarize: all paths given to the install command are normalized starting
+  # from cmake version 3.31. Starting from 3.31 you'll start to see warnings if
+  # you use the OLD behaviour but some paths would need normalization.
+  # The problem with ost: some of the paths that we give install look like:
+  # xyz/./bla. So its actually a good thing to run them through normalization
+  # which would give xyz/bla
+  cmake_policy(SET CMP0177 NEW)
+endif()
+
+if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.30.0")
+  # See CMP0167 for more information
+  # to summarize: Starting from boost 1.70, boost comes with a package
+  # configuration file BoostConfig.cmake. Starting from cmake 3.30,
+  # this is the way to go and users get warned if the old FindBoost module
+  # gets used.
+  cmake_policy(SET CMP0167 NEW)
+endif()
+
+
+
 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake_support)
 set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
 
@@ -24,8 +46,8 @@ include(PROMOD3)
 
 # versioning info
 set(PROMOD3_VERSION_MAJOR 3)
-set(PROMOD3_VERSION_MINOR 4)
-set(PROMOD3_VERSION_PATCH 2)
+set(PROMOD3_VERSION_MINOR 5)
+set(PROMOD3_VERSION_PATCH 0)
 set(PROMOD3_VERSION_STRING ${PROMOD3_VERSION_MAJOR}.${PROMOD3_VERSION_MINOR})
 set(PROMOD3_VERSION_STRING ${PROMOD3_VERSION_STRING}.${PROMOD3_VERSION_PATCH})
 
@@ -54,15 +76,6 @@ if(NOT PM3_RUNTIME_PROFILING_LEVEL)
   set(PM3_RUNTIME_PROFILING_LEVEL 0)
 endif()
 
-if(CMAKE_COMPILER_IS_GNUCXX)
-  exec_program(gcc ARGS --version OUTPUT_VARIABLE CMAKE_C_COMPILER_VERSION)
-  if(CMAKE_C_COMPILER_VERSION MATCHES ".*4\\.[5-9].*")
-    set(PROMOD_GCC_45 true)
-  else()
-    set(PROMOD_GCC_45 false)  
-  endif()
-endif()
-
 if(OPTIMIZE)
   set(CMAKE_BUILD_TYPE Release)
   set(_OPT ON)
@@ -95,7 +108,18 @@ list(GET _python_version_list 1 Python_VERSION_MINOR)
 # where Python modules live
 set(PYTHON_MODULE_PATH "python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}/site-packages/")
 
-setup_boost()
+set(_BOOST_MIN_VERSION 1.70)
+
+if(BOOST_VERSION)
+  message(STATUS "forcing boost to version ${BOOST_VERSION}")
+  set(_BOOST_MIN_VERSION ${BOOST_VERSION})
+endif()
+find_package(Boost ${_BOOST_MIN_VERSION}
+             COMPONENTS unit_test_framework
+                        filesystem
+                        iostreams
+                        python
+             REQUIRED)
 
 if(NOT DISABLE_DOCUMENTATION)
   find_package(Sphinx REQUIRED)
@@ -103,7 +127,7 @@ if(NOT DISABLE_DOCUMENTATION)
   # this URL should always point to the latest version of OST
   set(OST_DOC_URL "https://www.openstructure.org/docs")
 endif()
-find_package(OPENSTRUCTURE 2.9.1 REQUIRED
+find_package(OPENSTRUCTURE 2.10.0 REQUIRED
              COMPONENTS io mol seq seq_alg mol_alg conop img mol_mm)
 
 if(CMAKE_COMPILER_IS_GNUCXX)
@@ -124,11 +148,6 @@ if(NOT EIGEN3_FOUND)
   message(FATAL_ERROR "Eigen3 is essential for building ${PROJECT_NAME}.")
 endif()
 
-# This is somewhat experimental: Checking if Boost is compiled with the same
-# Python version used for Promod3. The very same macro is disabled in OST so
-# it may fail at some point.
-#promod3_match_boost_python_version(${Python_LIBRARIES})
-
 # basic environment
 include_directories(${Boost_INCLUDE_DIRS}
                     ${OST_INCLUDE_DIR}
diff --git a/cmake_support/FindSphinx.cmake b/cmake_support/FindSphinx.cmake
index 28bce054877838c4db5ddc12f52edc709e0da29d..9f37566ed17950bd6b9904f118d01e0c3c0dffd9 100644
--- a/cmake_support/FindSphinx.cmake
+++ b/cmake_support/FindSphinx.cmake
@@ -1,8 +1,11 @@
 IF(Python_EXECUTABLE)
-  EXEC_PROGRAM ("${Python_EXECUTABLE}"
-    ARGS "-c 'import sphinx; print(sphinx.__version__)'"
+  execute_process(
+    COMMAND "${Python_EXECUTABLE}" -c "import sphinx; print(sphinx.__version__)"
+    RESULT_VARIABLE SPHINX_NOT_FOUND
     OUTPUT_VARIABLE VERSION_STRING
-    RETURN_VALUE SPHINX_NOT_FOUND)
+    ERROR_QUIET
+    OUTPUT_STRIP_TRAILING_WHITESPACE  
+  )
   if (SPHINX_NOT_FOUND)
     set(SPHINX_FOUND FALSE)
   else (SPHINX_NOT_FOUND)
diff --git a/cmake_support/PROMOD3.cmake b/cmake_support/PROMOD3.cmake
index 43c58be4527a8f84c55ac60c6111741ad5318c53..a32b2a4953cfeaa436076be7bdec617961d01a7a 100644
--- a/cmake_support/PROMOD3.cmake
+++ b/cmake_support/PROMOD3.cmake
@@ -140,7 +140,6 @@ macro(copy_if_different FROM_DIR TO_DIR FILES TARGETS TARGET)
       endif()
       file(MAKE_DIRECTORY  ${TO_DIR})
       add_custom_command(TARGET "${TARGET}" PRE_BUILD
-          DEPENDS ${FROM}
           COMMAND ${CMAKE_COMMAND} -E copy_if_different ${FROM} ${TO})
   endforeach()
 endmacro(copy_if_different)
@@ -521,7 +520,7 @@ macro(pymod)
       set(_PARENT_LIB_NAME "${_PARENT_NAME}")
     endif()
     target_link_libraries("_${_ARG_NAME}" ${_PARENT_LIB_NAME} 
-                          ${Python_LIBRARIES} ${BOOST_PYTHON_LIBRARIES})
+                          ${Python_LIBRARIES} Boost::python)
     set_target_properties("_${_ARG_NAME}"
                          PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PYMOD_STAGE_DIR})
     if(NOT ENABLE_STATIC)
@@ -749,7 +748,7 @@ macro(promod3_unittest)
     set_target_properties(${_test_name} PROPERTIES
                  RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_BINARY_DIR})
     add_dependencies(${_test_name} "test_data_${_ARG_MODULE}")
-    target_link_libraries(${_test_name} ${BOOST_UNIT_TEST_LIBRARIES}
+    target_link_libraries(${_test_name} Boost::unit_test_framework
                         "${_ARG_PREFIX}_${_ARG_MODULE}")
     add_custom_target("${_test_name}_run"
                     COMMAND
@@ -877,66 +876,6 @@ macro(promod3_find_python_module MODULE)
   endif()
 endmacro(promod3_find_python_module)
 
-
-#-------------------------------------------------------------------------------
-# this macro tries to detect a very common problem during configuration stage:
-# it makes sure that boost python is linked against the same version of python 
-# that we are linking against. 
-#-------------------------------------------------------------------------------
-macro(promod3_match_boost_python_version)
-  include(CheckCXXSourceRuns)
-  # this variable may either be a simple library path or list that contains
-  # different libraries for different build-options. For example:
-  # optimized;<lib1>;debug;<lib2>
-  set(_BOOST_PYTHON_LIBRARY ${Boost_PYTHON_LIBRARY})
-  list(LENGTH _BOOST_PYTHON_LIBRARY _BP_LENGTH)
-  if(_BP_LENGTH GREATER 1)
-    list(FIND _BOOST_PYTHON_LIBRARY optimized _OPTIMIZED_INDEX)
-    if(_OPTIMIZED_INDEX EQUAL -1)
-      message(FATAL_ERROR 
-              "Error while trying to get path of boost python library")
-    endif()
-    math(EXPR _LIB_INDEX 1+${_OPTIMIZED_INDEX})
-    list(GET _BOOST_PYTHON_LIBRARY ${_LIB_INDEX} _BP_LIB_PATH)
-    set(_BOOST_PYTHON_LIBRARY ${_BP_LIB_PATH})
-  endif()
-  set(CMAKE_REQUIRED_FLAGS "-I${Python_INCLUDE_DIRS}")
-  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -I${Boost_INCLUDE_DIR}")
-  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${Python_LIBRARIES}")
-  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${_BOOST_PYTHON_LIBRARY}")
-  check_cxx_source_runs(
-"#include <boost/python.hpp>
-
-using namespace boost::python;
-                           
-int main( int argc, char ** argv ) {
-  try {
-    Py_Initialize();
-
-    object main_module((
-      handle<>(borrowed(PyImport_AddModule(\"__main__\")))));
-
-    object main_namespace = main_module.attr(\"__dict__\");
-
-    handle<> ignored(( PyRun_String( \"print 'Hello, World'\",
-                                     Py_file_input,
-                                     main_namespace.ptr(),
-                                     main_namespace.ptr() ) ));
-  } catch( error_already_set ) {
-    PyErr_Print();
-    return 1;
-  }   
-  return 0;
-}" PYTHON_VERSION_FOUND_MATCHES_PYTHON_VERSION_BOOST_WAS_COMPILED_WITH)
-
-  if(NOT PYTHON_VERSION_FOUND_MATCHES_PYTHON_VERSION_BOOST_WAS_COMPILED_WITH)
-     message(FATAL_ERROR "Python versions mismatch!\n"
-             "Make sure the python version for boost match the one you "
-             "specified during configuration\n")
-  endif()
-endmacro(promod3_match_boost_python_version)
-
-
 #-------------------------------------------------------------------------------
 # this macro sets up the stage directories
 #-------------------------------------------------------------------------------
@@ -976,91 +915,19 @@ endmacro(setup_stage)
 #-------------------------------------------------------------------------------
 # get compiler version
 #-------------------------------------------------------------------------------
-function(get_compiler_version _OUTPUT_VERSION)
-  exec_program(${CMAKE_CXX_COMPILER}
-               ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
-               OUTPUT_VARIABLE _COMPILER_VERSION
-  )
-  string(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1\\2"
-    _COMPILER_VERSION ${_COMPILER_VERSION})
-
-  set(${_OUTPUT_VERSION} ${_COMPILER_VERSION} PARENT_SCOPE)
-endfunction(get_compiler_version)
-
+macro(setup_compiler_flags)
 
+  set(CMAKE_CXX_STANDARD 17)
 
-macro(setup_compiler_flags)
-  if("${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang")
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
-  endif()
-  if(CMAKE_COMPILER_IS_GNUCXX)
-    get_compiler_version(_GCC_VERSION)
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall" )
-    if(_GCC_VERSION MATCHES "44")
-      # gcc 4.4. is very strict about aliasing rules. the shared_count
-      # implementation that is used boost's shared_ptr violates these rules. To
-      # silence the warnings and prevent miscompiles, enable
-      #  -fno-strict-aliasing
-      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-strict-aliasing" )
-    endif()
-    #message(STATUS "GCC VERSION " ${_GCC_VERSION})
-    if (_GCC_VERSION LESS "60")
-      # for older compilers we need to enable C++11
-      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
-    endif()
-  endif()
   if(_ENABLE_SSE)
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4" )
   endif()
-endmacro(setup_compiler_flags)
-
-set(_BOOST_MIN_VERSION 1.53)
-
-macro(setup_boost)
-  # starting with CMake 3.11 we could use the following instead of the foreach
-  # find_package(Boost ${_BOOST_MIN_VERSION} COMPONENTS
-  #              python${Python_VERSION_MAJOR}${Python_VERSION_MINOR} REQUIRED)
-  # set(BOOST_PYTHON_LIBRARIES ${Boost_LIBRARIES})
-  # see https://cmake.org/cmake/help/v3.11/module/FindBoost.html
-  foreach(_python_lib_name python${Python_VERSION_MAJOR}${Python_VERSION_MINOR}
-                           python${Python_VERSION_MAJOR}.${Python_VERSION_MINOR}
-                           python${Python_VERSION_MAJOR}
-                           python)
-    find_package(Boost ${_BOOST_MIN_VERSION} COMPONENTS ${_python_lib_name} QUIET)
-    if(Boost_FOUND)
-      message(STATUS "Found Boost package: " ${_python_lib_name})
-      set(BOOST_PYTHON_LIBRARIES ${Boost_LIBRARIES})
-      break()
-    else()
-      message(STATUS "Boost package not found: " ${_python_lib_name}
-                     ". Trying alternative names!")
-    endif()
-  endforeach(_python_lib_name)
-  if(NOT BOOST_PYTHON_LIBRARIES)
-    message(FATAL_ERROR "Failed to find any Boost Python library!")
-  endif()
-  set(Boost_LIBRARIES)
-  find_package(Boost ${_BOOST_MIN_VERSION}
-               COMPONENTS unit_test_framework REQUIRED)
-  set(BOOST_UNIT_TEST_LIBRARIES ${Boost_LIBRARIES})
-  set(Boost_LIBRARIES)
-  if(ENABLE_STATIC)
-    set(Boost_USE_STATIC_LIBS ON)
+  
+  if (CMAKE_COMPILER_IS_GNUCXX)
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall" )
   endif()
-  find_package(Boost ${_BOOST_MIN_VERSION}
-               COMPONENTS filesystem system REQUIRED)
-  set(BOOST_LIBRARIES ${Boost_LIBRARIES})
-  set(Boost_LIBRARIES)
-  find_package(Boost ${_BOOST_MIN_VERSION} COMPONENTS iostreams REQUIRED)
-  set(BOOST_IOSTREAM_LIBRARIES ${Boost_LIBRARIES})
-  set(Boost_LIBRARIES)
-  find_package(Boost ${_BOOST_MIN_VERSION} COMPONENTS program_options REQUIRED)
-  set(BOOST_PROGRAM_OPTIONS ${Boost_LIBRARIES})
-  set(Boost_LIBRARIES)
-  find_package(Boost ${_BOOST_MIN_VERSION} COMPONENTS regex REQUIRED)
-  set(BOOST_REGEX_LIBRARIES ${Boost_LIBRARIES})
-  set(Boost_LIBRARIES)
-endmacro(setup_boost)
+  
+endmacro(setup_compiler_flags)
 
 #-------------------------------------------------------------------------------
 # Documentation to be found in cmake_support/doc/index.rst
diff --git a/cmake_support/doc/index.rst b/cmake_support/doc/index.rst
index 8bdbfff6454f7f6f7ba8cf9df4ed9aa49bd61f10..97421b59261e11f8c4232f89d98d87a4c0e0110c 100644
--- a/cmake_support/doc/index.rst
+++ b/cmake_support/doc/index.rst
@@ -80,7 +80,7 @@ Default dependencies in a module ``NAME``:
 
   ``LINK``
     Add dependencies to external libraries. You may use some predefines set of
-    libraries here, such as ``${OST_LIBRARIES}`` and ``${BOOST_LIBRARIES}``.
+    libraries here, such as ``${OST_LIBRARIES}``.
 
 
 .. cmake:command:: pymod
diff --git a/container/Dockerfile b/container/Dockerfile
index 7d7789a6a50e34c88513a2853d8b7a8183b51f10..456f4acb39a11b75ee58c64453b9879d0e37df9f 100644
--- a/container/Dockerfile
+++ b/container/Dockerfile
@@ -1,9 +1,9 @@
-ARG OPENSTRUCTURE_IMAGE_TAG="2.9.1-jammy"
+ARG OPENSTRUCTURE_IMAGE_TAG="2.10.0-jammy"
 FROM registry.scicore.unibas.ch/schwede/openstructure:${OPENSTRUCTURE_IMAGE_TAG}
 
 # ARGUMENTS
 ###########
-ARG PROMOD_VERSION="3.4.2"
+ARG PROMOD_VERSION="3.5.0"
 ARG SRC_FOLDER="/usr/local/src"
 
 
diff --git a/container/Singularity b/container/Singularity
index fe4bf29ba1cfb434c8e2cc1ee0f05fb6f0732359..c821c0d498aa117b9a62f175d3d14e0b37ad5b9a 100644
--- a/container/Singularity
+++ b/container/Singularity
@@ -1,5 +1,5 @@
 BootStrap: docker
-From: registry.scicore.unibas.ch/schwede/promod3:3.4.2-OST2.9.1-jammy
+From: registry.scicore.unibas.ch/schwede/promod3:3.5.0-OST2.10.0-jammy
 %post
 ##############################################################################
 # POST
diff --git a/core/src/CMakeLists.txt b/core/src/CMakeLists.txt
index a8419fd0b01c29ee9544e3c34cf5d0a2ce5c4c4e..00acc68f0dc46bba0cbb377c84399b6a70553107 100644
--- a/core/src/CMakeLists.txt
+++ b/core/src/CMakeLists.txt
@@ -31,4 +31,4 @@ set(CORE_SOURCES
 )
 
 module(NAME core HEADERS ${CORE_HEADERS} SOURCES ${CORE_SOURCES}
-       LINK ${OST_LIBRARIES} ${BOOST_LIBRARIES})
+       LINK ${OST_LIBRARIES} Boost::filesystem)
diff --git a/doc/conf.py.in b/doc/conf.py.in
index b1aa14c615689a2907b1c7fd7ac3a9f8ea6142b2..b501b20409f9c8bb0ca471ff0ea32fdac700af00 100644
--- a/doc/conf.py.in
+++ b/doc/conf.py.in
@@ -58,7 +58,7 @@ master_doc = 'index'
 
 # General information about the project.
 project = u'ProMod3'
-copyright = u'2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel'# pylint: disable=redefined-builtin
+copyright = u'2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel'# pylint: disable=redefined-builtin
 
 # The version info for the project you're documenting, acts as replacement for
 # |version| and |release|, also used in various other places throughout the
@@ -286,7 +286,7 @@ rst_epilog = """
 .. |cmake| replace:: CMake
 .. |ost_l| replace:: OpenStructure
 .. |ost_s| replace:: OST
-.. |ost_version| replace:: 2.9.1
+.. |ost_version| replace:: 2.10.0
 .. |python| replace:: Python
 .. |sphinx| replace:: Sphinx
 .. _sphinx: http://sphinx-doc.org/
diff --git a/doc/html/_sources/changelog.rst.txt b/doc/html/_sources/changelog.rst.txt
index da700eca24229ad11c6919ec01e5213589252b26..5569503260247f0d2becd29585d48f0bf4bfc60c 100644
--- a/doc/html/_sources/changelog.rst.txt
+++ b/doc/html/_sources/changelog.rst.txt
@@ -5,6 +5,27 @@
 Changelog
 ================================================================================
 
+Release 3.4.2
+--------------------------------------------------------------------------------
+
+* Bugfix release: Updates OpenStructure dependency to 2.9.1, exposes
+  keep_sidechain flag in promod3.modelling.BuildSidechains.
+
+Release 3.4.1
+--------------------------------------------------------------------------------
+
+* Bugfix release: Updates OpenStructure dependency to 2.8.0, fixes issues
+  regarding Singularity container and unit tests.
+
+Release 3.4.0
+--------------------------------------------------------------------------------
+
+* Sidechains and BackboneLists now use bond length and angle parameters that are
+  extracted from a non-redundant set of high resolution X-ray structures.
+  IC data from CHARMM36 was used before. The new parameters slightly improve
+  sidechain modelling accuracy.
+* Several minor bug fixes and improvements
+
 Release 3.3.1
 --------------------------------------------------------------------------------
 
diff --git a/doc/html/_sources/cmake/index.rst.txt b/doc/html/_sources/cmake/index.rst.txt
index 8bdbfff6454f7f6f7ba8cf9df4ed9aa49bd61f10..97421b59261e11f8c4232f89d98d87a4c0e0110c 100644
--- a/doc/html/_sources/cmake/index.rst.txt
+++ b/doc/html/_sources/cmake/index.rst.txt
@@ -80,7 +80,7 @@ Default dependencies in a module ``NAME``:
 
   ``LINK``
     Add dependencies to external libraries. You may use some predefines set of
-    libraries here, such as ``${OST_LIBRARIES}`` and ``${BOOST_LIBRARIES}``.
+    libraries here, such as ``${OST_LIBRARIES}``.
 
 
 .. cmake:command:: pymod
diff --git a/doc/html/_sources/dev_setup.rst.txt b/doc/html/_sources/dev_setup.rst.txt
index 04d8450744dee2c1b26dd37b061527cc0919ee24..7506314c0141aa27825ec1a49bd2b4f9f700fb3b 100644
--- a/doc/html/_sources/dev_setup.rst.txt
+++ b/doc/html/_sources/dev_setup.rst.txt
@@ -251,4 +251,4 @@ modules from there, use the binaries from :file:`stage/bin`, etc..
 
 
 .. |pylint| replace:: Pylint
-.. _pylint: https://www.pylint.org
+.. _pylint: https://pylint.readthedocs.io
diff --git a/doc/html/_static/_sphinx_javascript_frameworks_compat.js b/doc/html/_static/_sphinx_javascript_frameworks_compat.js
new file mode 100644
index 0000000000000000000000000000000000000000..8549469dc29fac0cbf16d10355e3313897cb3752
--- /dev/null
+++ b/doc/html/_static/_sphinx_javascript_frameworks_compat.js
@@ -0,0 +1,134 @@
+/*
+ * _sphinx_javascript_frameworks_compat.js
+ * ~~~~~~~~~~
+ *
+ * Compatability shim for jQuery and underscores.js.
+ *
+ * WILL BE REMOVED IN Sphinx 6.0
+ * xref RemovedInSphinx60Warning
+ *
+ */
+
+/**
+ * select a different prefix for underscore
+ */
+$u = _.noConflict();
+
+
+/**
+ * small helper function to urldecode strings
+ *
+ * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
+ */
+jQuery.urldecode = function(x) {
+    if (!x) {
+        return x
+    }
+    return decodeURIComponent(x.replace(/\+/g, ' '));
+};
+
+/**
+ * small helper function to urlencode strings
+ */
+jQuery.urlencode = encodeURIComponent;
+
+/**
+ * This function returns the parsed url parameters of the
+ * current request. Multiple values per key are supported,
+ * it will always return arrays of strings for the value parts.
+ */
+jQuery.getQueryParameters = function(s) {
+    if (typeof s === 'undefined')
+        s = document.location.search;
+    var parts = s.substr(s.indexOf('?') + 1).split('&');
+    var result = {};
+    for (var i = 0; i < parts.length; i++) {
+        var tmp = parts[i].split('=', 2);
+        var key = jQuery.urldecode(tmp[0]);
+        var value = jQuery.urldecode(tmp[1]);
+        if (key in result)
+            result[key].push(value);
+        else
+            result[key] = [value];
+    }
+    return result;
+};
+
+/**
+ * highlight a given string on a jquery object by wrapping it in
+ * span elements with the given class name.
+ */
+jQuery.fn.highlightText = function(text, className) {
+    function highlight(node, addItems) {
+        if (node.nodeType === 3) {
+            var val = node.nodeValue;
+            var pos = val.toLowerCase().indexOf(text);
+            if (pos >= 0 &&
+                !jQuery(node.parentNode).hasClass(className) &&
+                !jQuery(node.parentNode).hasClass("nohighlight")) {
+                var span;
+                var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
+                if (isInSVG) {
+                    span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
+                } else {
+                    span = document.createElement("span");
+                    span.className = className;
+                }
+                span.appendChild(document.createTextNode(val.substr(pos, text.length)));
+                node.parentNode.insertBefore(span, node.parentNode.insertBefore(
+                    document.createTextNode(val.substr(pos + text.length)),
+                    node.nextSibling));
+                node.nodeValue = val.substr(0, pos);
+                if (isInSVG) {
+                    var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
+                    var bbox = node.parentElement.getBBox();
+                    rect.x.baseVal.value = bbox.x;
+                    rect.y.baseVal.value = bbox.y;
+                    rect.width.baseVal.value = bbox.width;
+                    rect.height.baseVal.value = bbox.height;
+                    rect.setAttribute('class', className);
+                    addItems.push({
+                        "parent": node.parentNode,
+                        "target": rect});
+                }
+            }
+        }
+        else if (!jQuery(node).is("button, select, textarea")) {
+            jQuery.each(node.childNodes, function() {
+                highlight(this, addItems);
+            });
+        }
+    }
+    var addItems = [];
+    var result = this.each(function() {
+        highlight(this, addItems);
+    });
+    for (var i = 0; i < addItems.length; ++i) {
+        jQuery(addItems[i].parent).before(addItems[i].target);
+    }
+    return result;
+};
+
+/*
+ * backward compatibility for jQuery.browser
+ * This will be supported until firefox bug is fixed.
+ */
+if (!jQuery.browser) {
+    jQuery.uaMatch = function(ua) {
+        ua = ua.toLowerCase();
+
+        var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
+            /(webkit)[ \/]([\w.]+)/.exec(ua) ||
+            /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
+            /(msie) ([\w.]+)/.exec(ua) ||
+            ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
+            [];
+
+        return {
+            browser: match[ 1 ] || "",
+            version: match[ 2 ] || "0"
+        };
+    };
+    jQuery.browser = {};
+    jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
+}
diff --git a/doc/html/_static/ajax-loader.gif b/doc/html/_static/ajax-loader.gif
deleted file mode 100644
index 61faf8cab23993bd3e1560bff0668bd628642330..0000000000000000000000000000000000000000
Binary files a/doc/html/_static/ajax-loader.gif and /dev/null differ
diff --git a/doc/html/_static/alabaster.css b/doc/html/_static/alabaster.css
index 517cb43e58b2e57a766cbed1ca59eddbe7f4515c..0eddaeb07d19bffb50884d7bd7996418b6461a09 100644
--- a/doc/html/_static/alabaster.css
+++ b/doc/html/_static/alabaster.css
@@ -1,28 +1,11 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 @import url("basic.css");
 
 /* -- page layout ----------------------------------------------------------- */
 
 body {
-    font-family: 'goudy old style', 'minion pro', 'bell mt', Georgia, 'Hiragino Mincho Pro', serif;
+    font-family: Georgia, serif;
     font-size: 17px;
-    background-color: white;
+    background-color: #fff;
     color: #000;
     margin: 0;
     padding: 0;
@@ -54,7 +37,7 @@ hr {
 }
 
 div.body {
-    background-color: #ffffff;
+    background-color: #fff;
     color: #3E4349;
     padding: 0 30px 0 30px;
 }
@@ -76,7 +59,7 @@ div.footer a {
 }
 
 p.caption {
-    font-family: ;
+    font-family: inherit;
     font-size: inherit;
 }
 
@@ -124,7 +107,7 @@ div.sphinxsidebarwrapper p.blurb {
 
 div.sphinxsidebar h3,
 div.sphinxsidebar h4 {
-    font-family: 'Garamond', 'Georgia', serif;
+    font-family: Georgia, serif;
     color: #444;
     font-size: 24px;
     font-weight: normal;
@@ -168,7 +151,7 @@ div.sphinxsidebar ul li.toctree-l2 > a {
 
 div.sphinxsidebar input {
     border: 1px solid #CCC;
-    font-family: 'goudy old style', 'minion pro', 'bell mt', Georgia, 'Hiragino Mincho Pro', serif;
+    font-family: Georgia, serif;
     font-size: 1em;
 }
 
@@ -183,6 +166,19 @@ div.sphinxsidebar hr {
     width: 50%;
 }
 
+div.sphinxsidebar .badge {
+    border-bottom: none;
+}
+
+div.sphinxsidebar .badge:hover {
+    border-bottom: none;
+}
+
+/* To address an issue with donation coming after search */
+div.sphinxsidebar h3.donation {
+    margin-top: 10px;
+}
+
 /* -- body styles ----------------------------------------------------------- */
 
 a {
@@ -201,7 +197,7 @@ div.body h3,
 div.body h4,
 div.body h5,
 div.body h6 {
-    font-family: 'Garamond', 'Georgia', serif;
+    font-family: Georgia, serif;
     font-weight: normal;
     margin: 30px 0px 10px 0px;
     padding: 0;
@@ -232,21 +228,17 @@ div.body p, div.body dd, div.body li {
 div.admonition {
     margin: 20px 0px;
     padding: 10px 30px;
-    background-color: #FCC;
-    border: 1px solid #FAA;
+    background-color: #EEE;
+    border: 1px solid #CCC;
 }
 
-div.admonition tt.xref, div.admonition a tt {
+div.admonition tt.xref, div.admonition code.xref, div.admonition a tt {
+    background-color: #FBFBFB;
     border-bottom: 1px solid #fafafa;
 }
 
-dd div.admonition {
-    margin-left: -60px;
-    padding-left: 60px;
-}
-
 div.admonition p.admonition-title {
-    font-family: 'Garamond', 'Georgia', serif;
+    font-family: Georgia, serif;
     font-weight: normal;
     font-size: 24px;
     margin: 0 0 10px 0;
@@ -259,25 +251,71 @@ div.admonition p.last {
 }
 
 div.highlight {
-    background-color: white;
+    background-color: #fff;
 }
 
 dt:target, .highlight {
     background: #FAF3E8;
 }
 
+div.warning {
+    background-color: #FCC;
+    border: 1px solid #FAA;
+}
+
+div.danger {
+    background-color: #FCC;
+    border: 1px solid #FAA;
+    -moz-box-shadow: 2px 2px 4px #D52C2C;
+    -webkit-box-shadow: 2px 2px 4px #D52C2C;
+    box-shadow: 2px 2px 4px #D52C2C;
+}
+
+div.error {
+    background-color: #FCC;
+    border: 1px solid #FAA;
+    -moz-box-shadow: 2px 2px 4px #D52C2C;
+    -webkit-box-shadow: 2px 2px 4px #D52C2C;
+    box-shadow: 2px 2px 4px #D52C2C;
+}
+
+div.caution {
+    background-color: #FCC;
+    border: 1px solid #FAA;
+}
+
+div.attention {
+    background-color: #FCC;
+    border: 1px solid #FAA;
+}
+
+div.important {
+    background-color: #EEE;
+    border: 1px solid #CCC;
+}
+
 div.note {
     background-color: #EEE;
     border: 1px solid #CCC;
 }
 
+div.tip {
+    background-color: #EEE;
+    border: 1px solid #CCC;
+}
+
+div.hint {
+    background-color: #EEE;
+    border: 1px solid #CCC;
+}
+
 div.seealso {
     background-color: #EEE;
     border: 1px solid #CCC;
 }
 
 div.topic {
-    background-color: #eee;
+    background-color: #EEE;
 }
 
 p.admonition-title {
@@ -289,7 +327,7 @@ p.admonition-title:after {
 }
 
 pre, tt, code {
-    font-family: 'Consolas', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
+    font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
     font-size: 0.9em;
 }
 
@@ -312,16 +350,16 @@ tt.descname, code.descname {
 }
 
 img.screenshot {
-    -moz-box-shadow: 2px 2px 4px #eee;
-    -webkit-box-shadow: 2px 2px 4px #eee;
-    box-shadow: 2px 2px 4px #eee;
+    -moz-box-shadow: 2px 2px 4px #EEE;
+    -webkit-box-shadow: 2px 2px 4px #EEE;
+    box-shadow: 2px 2px 4px #EEE;
 }
 
 table.docutils {
     border: 1px solid #888;
-    -moz-box-shadow: 2px 2px 4px #eee;
-    -webkit-box-shadow: 2px 2px 4px #eee;
-    box-shadow: 2px 2px 4px #eee;
+    -moz-box-shadow: 2px 2px 4px #EEE;
+    -webkit-box-shadow: 2px 2px 4px #EEE;
+    box-shadow: 2px 2px 4px #EEE;
 }
 
 table.docutils td, table.docutils th {
@@ -361,6 +399,16 @@ table.field-list p {
     margin-bottom: 0.8em;
 }
 
+/* Cloned from
+ * https://github.com/sphinx-doc/sphinx/commit/ef60dbfce09286b20b7385333d63a60321784e68
+ */
+.field-name {
+    -moz-hyphens: manual;
+    -ms-hyphens: manual;
+    -webkit-hyphens: manual;
+    hyphens: manual;
+}
+
 table.footnote td.label {
     width: .1px;
     padding: 0.3em 0 0.3em 0.5em;
@@ -397,16 +445,15 @@ pre {
     line-height: 1.3em;
 }
 
+div.viewcode-block:target {
+    background: #ffd;
+}
+
 dl pre, blockquote pre, li pre {
     margin-left: 0;
     padding-left: 30px;
 }
 
-dl dl pre {
-    margin-left: -90px;
-    padding-left: 90px;
-}
-
 tt, code {
     background-color: #ecf0f3;
     color: #222;
@@ -415,7 +462,7 @@ tt, code {
 
 tt.xref, code.xref, a tt {
     background-color: #FBFBFB;
-    border-bottom: 1px solid white;
+    border-bottom: 1px solid #fff;
 }
 
 a.reference {
@@ -517,7 +564,7 @@ a:hover tt, a:hover code {
 
     div.documentwrapper {
         float: none;
-        background: white;
+        background: #fff;
     }
 
     div.sphinxsidebar {
@@ -532,7 +579,7 @@ a:hover tt, a:hover code {
 
     div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p,
     div.sphinxsidebar h3 a {
-        color: white;
+        color: #fff;
     }
 
     div.sphinxsidebar a {
@@ -604,4 +651,51 @@ table.docutils.citation, table.docutils.citation td, table.docutils.citation th
   -moz-box-shadow: none;
   -webkit-box-shadow: none;
   box-shadow: none;
+}
+
+
+/* relbar */
+
+.related {
+    line-height: 30px;
+    width: 100%;
+    font-size: 0.9rem;
+}
+
+.related.top {
+    border-bottom: 1px solid #EEE;
+    margin-bottom: 20px;
+}
+
+.related.bottom {
+    border-top: 1px solid #EEE;
+}
+
+.related ul {
+    padding: 0;
+    margin: 0;
+    list-style: none;
+}
+
+.related li {
+    display: inline;
+}
+
+nav#rellinks {
+    float: right;
+}
+
+nav#rellinks li+li:before {
+    content: "|";
+}
+
+nav#breadcrumbs li+li:before {
+    content: "\00BB";
+}
+
+/* Hide certain items when printing */
+@media print {
+    div.related {
+        display: none;
+    }
 }
\ No newline at end of file
diff --git a/doc/html/_static/basic.css b/doc/html/_static/basic.css
index 0807176ec0cb13c1214ddacecadfbfde5ecd7514..4e9a9f1faca4a263f4cb13711058d9456d38dc60 100644
--- a/doc/html/_static/basic.css
+++ b/doc/html/_static/basic.css
@@ -4,7 +4,7 @@
  *
  * Sphinx stylesheet -- basic theme.
  *
- * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
  * :license: BSD, see LICENSE for details.
  *
  */
@@ -15,6 +15,12 @@ div.clearer {
     clear: both;
 }
 
+div.section::after {
+    display: block;
+    content: '';
+    clear: left;
+}
+
 /* -- relbar ---------------------------------------------------------------- */
 
 div.related {
@@ -124,7 +130,7 @@ ul.search li a {
     font-weight: bold;
 }
 
-ul.search li div.context {
+ul.search li p.context {
     color: #888;
     margin: 2px 0 0 30px;
     text-align: left;
@@ -216,7 +222,7 @@ table.modindextable td {
 /* -- general body styles --------------------------------------------------- */
 
 div.body {
-    min-width: 450px;
+    min-width: 360px;
     max-width: 800px;
 }
 
@@ -261,19 +267,25 @@ p.rubric {
     font-weight: bold;
 }
 
-img.align-left, .figure.align-left, object.align-left {
+img.align-left, figure.align-left, .figure.align-left, object.align-left {
     clear: left;
     float: left;
     margin-right: 1em;
 }
 
-img.align-right, .figure.align-right, object.align-right {
+img.align-right, figure.align-right, .figure.align-right, object.align-right {
     clear: right;
     float: right;
     margin-left: 1em;
 }
 
-img.align-center, .figure.align-center, object.align-center {
+img.align-center, figure.align-center, .figure.align-center, object.align-center {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+img.align-default, figure.align-default, .figure.align-default {
   display: block;
   margin-left: auto;
   margin-right: auto;
@@ -287,30 +299,43 @@ img.align-center, .figure.align-center, object.align-center {
     text-align: center;
 }
 
+.align-default {
+    text-align: center;
+}
+
 .align-right {
     text-align: right;
 }
 
 /* -- sidebars -------------------------------------------------------------- */
 
-div.sidebar {
+div.sidebar,
+aside.sidebar {
     margin: 0 0 0.5em 1em;
     border: 1px solid #ddb;
-    padding: 7px 7px 0 7px;
+    padding: 7px;
     background-color: #ffe;
     width: 40%;
     float: right;
+    clear: right;
+    overflow-x: auto;
 }
 
 p.sidebar-title {
     font-weight: bold;
 }
+nav.contents,
+aside.topic,
+div.admonition, div.topic, blockquote {
+    clear: left;
+}
 
 /* -- topics ---------------------------------------------------------------- */
-
+nav.contents,
+aside.topic,
 div.topic {
     border: 1px solid #ccc;
-    padding: 7px 7px 0 7px;
+    padding: 7px;
     margin: 10px 0 10px 0;
 }
 
@@ -332,10 +357,6 @@ div.admonition dt {
     font-weight: bold;
 }
 
-div.admonition dl {
-    margin-bottom: 0;
-}
-
 p.admonition-title {
     margin: 0px 10px 5px 0px;
     font-weight: bold;
@@ -346,9 +367,34 @@ div.body p.centered {
     margin-top: 25px;
 }
 
+/* -- content of sidebars/topics/admonitions -------------------------------- */
+
+div.sidebar > :last-child,
+aside.sidebar > :last-child,
+nav.contents > :last-child,
+aside.topic > :last-child,
+div.topic > :last-child,
+div.admonition > :last-child {
+    margin-bottom: 0;
+}
+
+div.sidebar::after,
+aside.sidebar::after,
+nav.contents::after,
+aside.topic::after,
+div.topic::after,
+div.admonition::after,
+blockquote::after {
+    display: block;
+    content: '';
+    clear: both;
+}
+
 /* -- tables ---------------------------------------------------------------- */
 
 table.docutils {
+    margin-top: 10px;
+    margin-bottom: 10px;
     border: 0;
     border-collapse: collapse;
 }
@@ -358,6 +404,11 @@ table.align-center {
     margin-right: auto;
 }
 
+table.align-default {
+    margin-left: auto;
+    margin-right: auto;
+}
+
 table caption span.caption-number {
     font-style: italic;
 }
@@ -373,10 +424,6 @@ table.docutils td, table.docutils th {
     border-bottom: 1px solid #aaa;
 }
 
-table.footnote td, table.footnote th {
-    border: 0 !important;
-}
-
 th {
     text-align: left;
     padding-right: 5px;
@@ -391,22 +438,34 @@ table.citation td {
     border-bottom: none;
 }
 
+th > :first-child,
+td > :first-child {
+    margin-top: 0px;
+}
+
+th > :last-child,
+td > :last-child {
+    margin-bottom: 0px;
+}
+
 /* -- figures --------------------------------------------------------------- */
 
-div.figure {
+div.figure, figure {
     margin: 0.5em;
     padding: 0.5em;
 }
 
-div.figure p.caption {
+div.figure p.caption, figcaption {
     padding: 0.3em;
 }
 
-div.figure p.caption span.caption-number {
+div.figure p.caption span.caption-number,
+figcaption span.caption-number {
     font-style: italic;
 }
 
-div.figure p.caption span.caption-text {
+div.figure p.caption span.caption-text,
+figcaption span.caption-text {
 }
 
 /* -- field list styles ----------------------------------------------------- */
@@ -433,10 +492,71 @@ table.field-list td, table.field-list th {
 
 /* -- hlist styles ---------------------------------------------------------- */
 
+table.hlist {
+    margin: 1em 0;
+}
+
 table.hlist td {
     vertical-align: top;
 }
 
+/* -- object description styles --------------------------------------------- */
+
+.sig {
+	font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
+}
+
+.sig-name, code.descname {
+    background-color: transparent;
+    font-weight: bold;
+}
+
+.sig-name {
+	font-size: 1.1em;
+}
+
+code.descname {
+    font-size: 1.2em;
+}
+
+.sig-prename, code.descclassname {
+    background-color: transparent;
+}
+
+.optional {
+    font-size: 1.3em;
+}
+
+.sig-paren {
+    font-size: larger;
+}
+
+.sig-param.n {
+	font-style: italic;
+}
+
+/* C++ specific styling */
+
+.sig-inline.c-texpr,
+.sig-inline.cpp-texpr {
+	font-family: unset;
+}
+
+.sig.c   .k, .sig.c   .kt,
+.sig.cpp .k, .sig.cpp .kt {
+	color: #0033B3;
+}
+
+.sig.c   .m,
+.sig.cpp .m {
+	color: #1750EB;
+}
+
+.sig.c   .s, .sig.c   .sc,
+.sig.cpp .s, .sig.cpp .sc {
+	color: #067D17;
+}
+
 
 /* -- other body styles ----------------------------------------------------- */
 
@@ -460,11 +580,80 @@ ol.upperroman {
     list-style: upper-roman;
 }
 
+:not(li) > ol > li:first-child > :first-child,
+:not(li) > ul > li:first-child > :first-child {
+    margin-top: 0px;
+}
+
+:not(li) > ol > li:last-child > :last-child,
+:not(li) > ul > li:last-child > :last-child {
+    margin-bottom: 0px;
+}
+
+ol.simple ol p,
+ol.simple ul p,
+ul.simple ol p,
+ul.simple ul p {
+    margin-top: 0;
+}
+
+ol.simple > li:not(:first-child) > p,
+ul.simple > li:not(:first-child) > p {
+    margin-top: 0;
+}
+
+ol.simple p,
+ul.simple p {
+    margin-bottom: 0;
+}
+aside.footnote > span,
+div.citation > span {
+    float: left;
+}
+aside.footnote > span:last-of-type,
+div.citation > span:last-of-type {
+  padding-right: 0.5em;
+}
+aside.footnote > p {
+  margin-left: 2em;
+}
+div.citation > p {
+  margin-left: 4em;
+}
+aside.footnote > p:last-of-type,
+div.citation > p:last-of-type {
+    margin-bottom: 0em;
+}
+aside.footnote > p:last-of-type:after,
+div.citation > p:last-of-type:after {
+    content: "";
+    clear: both;
+}
+
+dl.field-list {
+    display: grid;
+    grid-template-columns: fit-content(30%) auto;
+}
+
+dl.field-list > dt {
+    font-weight: bold;
+    word-break: break-word;
+    padding-left: 0.5em;
+    padding-right: 5px;
+}
+
+dl.field-list > dd {
+    padding-left: 0.5em;
+    margin-top: 0em;
+    margin-left: 0em;
+    margin-bottom: 0em;
+}
+
 dl {
     margin-bottom: 15px;
 }
 
-dd p {
+dd > :first-child {
     margin-top: 0px;
 }
 
@@ -478,6 +667,11 @@ dd {
     margin-left: 30px;
 }
 
+dl > dd:last-child,
+dl > dd:last-child > :last-child {
+    margin-bottom: 0;
+}
+
 dt:target, span.highlighted {
     background-color: #fbe54e;
 }
@@ -491,14 +685,6 @@ dl.glossary dt {
     font-size: 1.1em;
 }
 
-.optional {
-    font-size: 1.3em;
-}
-
-.sig-paren {
-    font-size: larger;
-}
-
 .versionmodified {
     font-style: italic;
 }
@@ -537,6 +723,13 @@ dl.glossary dt {
     font-style: oblique;
 }
 
+.classifier:before {
+    font-style: normal;
+    margin: 0 0.5em;
+    content: ":";
+    display: inline-block;
+}
+
 abbr, acronym {
     border-bottom: dotted 1px;
     cursor: help;
@@ -549,29 +742,69 @@ pre {
     overflow-y: hidden;  /* fixes display issues on Chrome browsers */
 }
 
+pre, div[class*="highlight-"] {
+    clear: both;
+}
+
 span.pre {
     -moz-hyphens: none;
     -ms-hyphens: none;
     -webkit-hyphens: none;
     hyphens: none;
+    white-space: nowrap;
+}
+
+div[class*="highlight-"] {
+    margin: 1em 0;
 }
 
 td.linenos pre {
-    padding: 5px 0px;
     border: 0;
     background-color: transparent;
     color: #aaa;
 }
 
 table.highlighttable {
-    margin-left: 0.5em;
+    display: block;
+}
+
+table.highlighttable tbody {
+    display: block;
+}
+
+table.highlighttable tr {
+    display: flex;
 }
 
 table.highlighttable td {
-    padding: 0 0.5em 0 0.5em;
+    margin: 0;
+    padding: 0;
+}
+
+table.highlighttable td.linenos {
+    padding-right: 0.5em;
+}
+
+table.highlighttable td.code {
+    flex: 1;
+    overflow: hidden;
+}
+
+.highlight .hll {
+    display: block;
+}
+
+div.highlight pre,
+table.highlighttable pre {
+    margin: 0;
+}
+
+div.code-block-caption + div {
+    margin-top: 0;
 }
 
 div.code-block-caption {
+    margin-top: 1em;
     padding: 2px 5px;
     font-size: small;
 }
@@ -580,8 +813,14 @@ div.code-block-caption code {
     background-color: transparent;
 }
 
-div.code-block-caption + div > div.highlight > pre {
-    margin-top: 0;
+table.highlighttable td.linenos,
+span.linenos,
+div.highlight span.gp {  /* gp: Generic.Prompt */
+  user-select: none;
+  -webkit-user-select: text; /* Safari fallback only */
+  -webkit-user-select: none; /* Chrome/Safari */
+  -moz-user-select: none; /* Firefox */
+  -ms-user-select: none; /* IE10+ */
 }
 
 div.code-block-caption span.caption-number {
@@ -593,21 +832,7 @@ div.code-block-caption span.caption-text {
 }
 
 div.literal-block-wrapper {
-    padding: 1em 1em 0;
-}
-
-div.literal-block-wrapper div.highlight {
-    margin: 0;
-}
-
-code.descname {
-    background-color: transparent;
-    font-weight: bold;
-    font-size: 1.2em;
-}
-
-code.descclassname {
-    background-color: transparent;
+    margin: 1em 0;
 }
 
 code.xref, a code {
@@ -648,8 +873,7 @@ span.eqno {
 }
 
 span.eqno a.headerlink {
-    position: relative;
-    left: 0px;
+    position: absolute;
     z-index: 1;
 }
 
diff --git a/doc/html/_static/comment-bright.png b/doc/html/_static/comment-bright.png
deleted file mode 100644
index 15e27edb12ac25701ac0ac21b97b52bb4e45415e..0000000000000000000000000000000000000000
Binary files a/doc/html/_static/comment-bright.png and /dev/null differ
diff --git a/doc/html/_static/comment-close.png b/doc/html/_static/comment-close.png
deleted file mode 100644
index 4d91bcf57de866a901a89a2a68c0f36af1114841..0000000000000000000000000000000000000000
Binary files a/doc/html/_static/comment-close.png and /dev/null differ
diff --git a/doc/html/_static/comment.png b/doc/html/_static/comment.png
deleted file mode 100644
index dfbc0cbd512bdeefcb1984c99d8e577efb77f006..0000000000000000000000000000000000000000
Binary files a/doc/html/_static/comment.png and /dev/null differ
diff --git a/doc/html/_static/doctools.js b/doc/html/_static/doctools.js
index 344db17ddbb7aea09b227835a7cd1c3265aeb172..527b876ca636d9a23d0cb3cc73ff6355b94fd7da 100644
--- a/doc/html/_static/doctools.js
+++ b/doc/html/_static/doctools.js
@@ -2,314 +2,155 @@
  * doctools.js
  * ~~~~~~~~~~~
  *
- * Sphinx JavaScript utilities for all documentation.
+ * Base JavaScript utilities for all Sphinx HTML documentation.
  *
- * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
  * :license: BSD, see LICENSE for details.
  *
  */
-
-/**
- * select a different prefix for underscore
- */
-$u = _.noConflict();
-
-/**
- * make the code below compatible with browsers without
- * an installed firebug like debugger
-if (!window.console || !console.firebug) {
-  var names = ["log", "debug", "info", "warn", "error", "assert", "dir",
-    "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace",
-    "profile", "profileEnd"];
-  window.console = {};
-  for (var i = 0; i < names.length; ++i)
-    window.console[names[i]] = function() {};
-}
- */
-
-/**
- * small helper function to urldecode strings
- */
-jQuery.urldecode = function(x) {
-  return decodeURIComponent(x).replace(/\+/g, ' ');
-};
-
-/**
- * small helper function to urlencode strings
- */
-jQuery.urlencode = encodeURIComponent;
-
-/**
- * This function returns the parsed url parameters of the
- * current request. Multiple values per key are supported,
- * it will always return arrays of strings for the value parts.
- */
-jQuery.getQueryParameters = function(s) {
-  if (typeof s === 'undefined')
-    s = document.location.search;
-  var parts = s.substr(s.indexOf('?') + 1).split('&');
-  var result = {};
-  for (var i = 0; i < parts.length; i++) {
-    var tmp = parts[i].split('=', 2);
-    var key = jQuery.urldecode(tmp[0]);
-    var value = jQuery.urldecode(tmp[1]);
-    if (key in result)
-      result[key].push(value);
-    else
-      result[key] = [value];
+"use strict";
+
+const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([
+  "TEXTAREA",
+  "INPUT",
+  "SELECT",
+  "BUTTON",
+]);
+
+const _ready = (callback) => {
+  if (document.readyState !== "loading") {
+    callback();
+  } else {
+    document.addEventListener("DOMContentLoaded", callback);
   }
-  return result;
 };
 
-/**
- * highlight a given string on a jquery object by wrapping it in
- * span elements with the given class name.
- */
-jQuery.fn.highlightText = function(text, className) {
-  function highlight(node, addItems) {
-    if (node.nodeType === 3) {
-      var val = node.nodeValue;
-      var pos = val.toLowerCase().indexOf(text);
-      if (pos >= 0 &&
-          !jQuery(node.parentNode).hasClass(className) &&
-          !jQuery(node.parentNode).hasClass("nohighlight")) {
-        var span;
-        var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
-        if (isInSVG) {
-          span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
-        } else {
-          span = document.createElement("span");
-          span.className = className;
-        }
-        span.appendChild(document.createTextNode(val.substr(pos, text.length)));
-        node.parentNode.insertBefore(span, node.parentNode.insertBefore(
-          document.createTextNode(val.substr(pos + text.length)),
-          node.nextSibling));
-        node.nodeValue = val.substr(0, pos);
-        if (isInSVG) {
-          var bbox = span.getBBox();
-          var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
-       	  rect.x.baseVal.value = bbox.x;
-          rect.y.baseVal.value = bbox.y;
-          rect.width.baseVal.value = bbox.width;
-          rect.height.baseVal.value = bbox.height;
-          rect.setAttribute('class', className);
-          var parentOfText = node.parentNode.parentNode;
-          addItems.push({
-              "parent": node.parentNode,
-              "target": rect});
-        }
-      }
-    }
-    else if (!jQuery(node).is("button, select, textarea")) {
-      jQuery.each(node.childNodes, function() {
-        highlight(this, addItems);
-      });
-    }
-  }
-  var addItems = [];
-  var result = this.each(function() {
-    highlight(this, addItems);
-  });
-  for (var i = 0; i < addItems.length; ++i) {
-    jQuery(addItems[i].parent).before(addItems[i].target);
-  }
-  return result;
-};
-
-/*
- * backward compatibility for jQuery.browser
- * This will be supported until firefox bug is fixed.
- */
-if (!jQuery.browser) {
-  jQuery.uaMatch = function(ua) {
-    ua = ua.toLowerCase();
-
-    var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
-      /(webkit)[ \/]([\w.]+)/.exec(ua) ||
-      /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
-      /(msie) ([\w.]+)/.exec(ua) ||
-      ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
-      [];
-
-    return {
-      browser: match[ 1 ] || "",
-      version: match[ 2 ] || "0"
-    };
-  };
-  jQuery.browser = {};
-  jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
-}
-
 /**
  * Small JavaScript module for the documentation.
  */
-var Documentation = {
-
-  init : function() {
-    this.fixFirefoxAnchorBug();
-    this.highlightSearchWords();
-    this.initIndexTable();
-    if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) {
-      this.initOnKeyListeners();
-    }
+const Documentation = {
+  init: () => {
+    Documentation.initDomainIndexTable();
+    Documentation.initOnKeyListeners();
   },
 
   /**
    * i18n support
    */
-  TRANSLATIONS : {},
-  PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; },
-  LOCALE : 'unknown',
+  TRANSLATIONS: {},
+  PLURAL_EXPR: (n) => (n === 1 ? 0 : 1),
+  LOCALE: "unknown",
 
   // gettext and ngettext don't access this so that the functions
   // can safely bound to a different name (_ = Documentation.gettext)
-  gettext : function(string) {
-    var translated = Documentation.TRANSLATIONS[string];
-    if (typeof translated === 'undefined')
-      return string;
-    return (typeof translated === 'string') ? translated : translated[0];
-  },
-
-  ngettext : function(singular, plural, n) {
-    var translated = Documentation.TRANSLATIONS[singular];
-    if (typeof translated === 'undefined')
-      return (n == 1) ? singular : plural;
-    return translated[Documentation.PLURALEXPR(n)];
+  gettext: (string) => {
+    const translated = Documentation.TRANSLATIONS[string];
+    switch (typeof translated) {
+      case "undefined":
+        return string; // no translation
+      case "string":
+        return translated; // translation exists
+      default:
+        return translated[0]; // (singular, plural) translation tuple exists
+    }
   },
 
-  addTranslations : function(catalog) {
-    for (var key in catalog.messages)
-      this.TRANSLATIONS[key] = catalog.messages[key];
-    this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')');
-    this.LOCALE = catalog.locale;
+  ngettext: (singular, plural, n) => {
+    const translated = Documentation.TRANSLATIONS[singular];
+    if (typeof translated !== "undefined")
+      return translated[Documentation.PLURAL_EXPR(n)];
+    return n === 1 ? singular : plural;
   },
 
-  /**
-   * add context elements like header anchor links
-   */
-  addContextElements : function() {
-    $('div[id] > :header:first').each(function() {
-      $('<a class="headerlink">\u00B6</a>').
-      attr('href', '#' + this.id).
-      attr('title', _('Permalink to this headline')).
-      appendTo(this);
-    });
-    $('dt[id]').each(function() {
-      $('<a class="headerlink">\u00B6</a>').
-      attr('href', '#' + this.id).
-      attr('title', _('Permalink to this definition')).
-      appendTo(this);
-    });
+  addTranslations: (catalog) => {
+    Object.assign(Documentation.TRANSLATIONS, catalog.messages);
+    Documentation.PLURAL_EXPR = new Function(
+      "n",
+      `return (${catalog.plural_expr})`
+    );
+    Documentation.LOCALE = catalog.locale;
   },
 
   /**
-   * workaround a firefox stupidity
-   * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075
+   * helper function to focus on search bar
    */
-  fixFirefoxAnchorBug : function() {
-    if (document.location.hash && $.browser.mozilla)
-      window.setTimeout(function() {
-        document.location.href += '';
-      }, 10);
+  focusSearchBar: () => {
+    document.querySelectorAll("input[name=q]")[0]?.focus();
   },
 
   /**
-   * highlight the search words provided in the url in the text
+   * Initialise the domain index toggle buttons
    */
-  highlightSearchWords : function() {
-    var params = $.getQueryParameters();
-    var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
-    if (terms.length) {
-      var body = $('div.body');
-      if (!body.length) {
-        body = $('body');
+  initDomainIndexTable: () => {
+    const toggler = (el) => {
+      const idNumber = el.id.substr(7);
+      const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`);
+      if (el.src.substr(-9) === "minus.png") {
+        el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`;
+        toggledRows.forEach((el) => (el.style.display = "none"));
+      } else {
+        el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`;
+        toggledRows.forEach((el) => (el.style.display = ""));
       }
-      window.setTimeout(function() {
-        $.each(terms, function() {
-          body.highlightText(this.toLowerCase(), 'highlighted');
-        });
-      }, 10);
-      $('<p class="highlight-link"><a href="javascript:Documentation.' +
-        'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>')
-          .appendTo($('#searchbox'));
-    }
-  },
-
-  /**
-   * init the domain index toggle buttons
-   */
-  initIndexTable : function() {
-    var togglers = $('img.toggler').click(function() {
-      var src = $(this).attr('src');
-      var idnum = $(this).attr('id').substr(7);
-      $('tr.cg-' + idnum).toggle();
-      if (src.substr(-9) === 'minus.png')
-        $(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
-      else
-        $(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
-    }).css('display', '');
-    if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) {
-        togglers.click();
-    }
-  },
-
-  /**
-   * helper function to hide the search marks again
-   */
-  hideSearchWords : function() {
-    $('#searchbox .highlight-link').fadeOut(300);
-    $('span.highlighted').removeClass('highlighted');
-  },
-
-  /**
-   * make the url absolute
-   */
-  makeURL : function(relativeURL) {
-    return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL;
-  },
+    };
 
-  /**
-   * get the current relative url
-   */
-  getCurrentURL : function() {
-    var path = document.location.pathname;
-    var parts = path.split(/\//);
-    $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
-      if (this === '..')
-        parts.pop();
-    });
-    var url = parts.join('/');
-    return path.substring(url.lastIndexOf('/') + 1, path.length - 1);
+    const togglerElements = document.querySelectorAll("img.toggler");
+    togglerElements.forEach((el) =>
+      el.addEventListener("click", (event) => toggler(event.currentTarget))
+    );
+    togglerElements.forEach((el) => (el.style.display = ""));
+    if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler);
   },
 
-  initOnKeyListeners: function() {
-    $(document).keyup(function(event) {
-      var activeElementType = document.activeElement.tagName;
-      // don't navigate when in search box or textarea
-      if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') {
-        switch (event.keyCode) {
-          case 37: // left
-            var prevHref = $('link[rel="prev"]').prop('href');
-            if (prevHref) {
-              window.location.href = prevHref;
-              return false;
+  initOnKeyListeners: () => {
+    // only install a listener if it is really needed
+    if (
+      !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS &&
+      !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS
+    )
+      return;
+
+    document.addEventListener("keydown", (event) => {
+      // bail for input elements
+      if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return;
+      // bail with special keys
+      if (event.altKey || event.ctrlKey || event.metaKey) return;
+
+      if (!event.shiftKey) {
+        switch (event.key) {
+          case "ArrowLeft":
+            if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
+
+            const prevLink = document.querySelector('link[rel="prev"]');
+            if (prevLink && prevLink.href) {
+              window.location.href = prevLink.href;
+              event.preventDefault();
             }
-          case 39: // right
-            var nextHref = $('link[rel="next"]').prop('href');
-            if (nextHref) {
-              window.location.href = nextHref;
-              return false;
+            break;
+          case "ArrowRight":
+            if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
+
+            const nextLink = document.querySelector('link[rel="next"]');
+            if (nextLink && nextLink.href) {
+              window.location.href = nextLink.href;
+              event.preventDefault();
             }
+            break;
         }
       }
+
+      // some keyboard layouts may need Shift to get /
+      switch (event.key) {
+        case "/":
+          if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break;
+          Documentation.focusSearchBar();
+          event.preventDefault();
+      }
     });
-  }
+  },
 };
 
 // quick alias for translations
-_ = Documentation.gettext;
+const _ = Documentation.gettext;
 
-$(document).ready(function() {
-  Documentation.init();
-});
+_ready(Documentation.init);
diff --git a/doc/html/_static/documentation_options.js b/doc/html/_static/documentation_options.js
index 4c289d9b2f01108607b8c0c3e562001137c59bde..ce844dcd247fcda7880a126496e859f7463f29a5 100644
--- a/doc/html/_static/documentation_options.js
+++ b/doc/html/_static/documentation_options.js
@@ -1,10 +1,14 @@
 var DOCUMENTATION_OPTIONS = {
     URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
-    VERSION: '3.3.1',
-    LANGUAGE: 'None',
+    VERSION: '3.5.0',
+    LANGUAGE: 'en',
     COLLAPSE_INDEX: false,
+    BUILDER: 'html',
     FILE_SUFFIX: '.html',
+    LINK_SUFFIX: '.html',
     HAS_SOURCE: true,
     SOURCELINK_SUFFIX: '.txt',
     NAVIGATION_WITH_KEYS: false,
+    SHOW_SEARCH_SUMMARY: true,
+    ENABLE_SEARCH_SHORTCUTS: true,
 };
\ No newline at end of file
diff --git a/doc/html/_static/down-pressed.png b/doc/html/_static/down-pressed.png
deleted file mode 100644
index 5756c8cad8854722893dc70b9eb4bb0400343a39..0000000000000000000000000000000000000000
Binary files a/doc/html/_static/down-pressed.png and /dev/null differ
diff --git a/doc/html/_static/down.png b/doc/html/_static/down.png
deleted file mode 100644
index 1b3bdad2ceffae91cee61b32f3295f9bbe646e48..0000000000000000000000000000000000000000
Binary files a/doc/html/_static/down.png and /dev/null differ
diff --git a/doc/html/_static/forkme_right_darkblue_121621.png b/doc/html/_static/forkme_right_darkblue_121621.png
new file mode 100644
index 0000000000000000000000000000000000000000..146ef8a800602169cf78c686fc5a6d138a76bc0a
Binary files /dev/null and b/doc/html/_static/forkme_right_darkblue_121621.png differ
diff --git a/doc/html/_static/jquery.js b/doc/html/_static/jquery.js
index 888a82f32f694cd456e6f31b319c11a47a605bb9..034a54527cb70e52cb9a745b2c75047cd9bbc23f 100644
--- a/doc/html/_static/jquery.js
+++ b/doc/html/_static/jquery.js
@@ -1,15 +1,13 @@
 /*!
- * jQuery JavaScript Library v3.3.1-dfsg
+ * jQuery JavaScript Library v3.6.1
  * https://jquery.com/
  *
  * Includes Sizzle.js
  * https://sizzlejs.com/
  *
- * Copyright JS Foundation and other contributors
+ * Copyright OpenJS Foundation and other contributors
  * Released under the MIT license
  * https://jquery.org/license
- *
- * Date: 2021-03-09T19:42Z
  */
 ( function( global, factory ) {
 
@@ -23,7 +21,7 @@
 		// (such as Node.js), expose a factory as module.exports.
 		// This accentuates the need for the creation of a real `window`.
 		// e.g. var jQuery = require("jquery")(window);
-		// See ticket #14549 for more info.
+		// See ticket trac-14549 for more info.
 		module.exports = global.document ?
 			factory( global, true ) :
 			function( w ) {
@@ -43,17 +41,20 @@
 // throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
 // arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
 // enough that all such attempts are guarded in a try block.
-
+"use strict";
 
 var arr = [];
 
-var document = window.document;
-
 var getProto = Object.getPrototypeOf;
 
 var slice = arr.slice;
 
-var concat = arr.concat;
+var flat = arr.flat ? function( array ) {
+	return arr.flat.call( array );
+} : function( array ) {
+	return arr.concat.apply( [], array );
+};
+
 
 var push = arr.push;
 
@@ -73,12 +74,16 @@ var support = {};
 
 var isFunction = function isFunction( obj ) {
 
-      // Support: Chrome <=57, Firefox <=52
-      // In some browsers, typeof returns "function" for HTML <object> elements
-      // (i.e., `typeof document.createElement( "object" ) === "function"`).
-      // We don't want to classify *any* DOM node as a function.
-      return typeof obj === "function" && typeof obj.nodeType !== "number";
-  };
+		// Support: Chrome <=57, Firefox <=52
+		// In some browsers, typeof returns "function" for HTML <object> elements
+		// (i.e., `typeof document.createElement( "object" ) === "function"`).
+		// We don't want to classify *any* DOM node as a function.
+		// Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5
+		// Plus for old WebKit, typeof returns "function" for HTML collections
+		// (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756)
+		return typeof obj === "function" && typeof obj.nodeType !== "number" &&
+			typeof obj.item !== "function";
+	};
 
 
 var isWindow = function isWindow( obj ) {
@@ -86,25 +91,40 @@ var isWindow = function isWindow( obj ) {
 	};
 
 
+var document = window.document;
+
 
 
 	var preservedScriptAttributes = {
 		type: true,
 		src: true,
+		nonce: true,
 		noModule: true
 	};
 
-	function DOMEval( code, doc, node ) {
+	function DOMEval( code, node, doc ) {
 		doc = doc || document;
 
-		var i,
+		var i, val,
 			script = doc.createElement( "script" );
 
 		script.text = code;
 		if ( node ) {
 			for ( i in preservedScriptAttributes ) {
-				if ( node[ i ] ) {
-					script[ i ] = node[ i ];
+
+				// Support: Firefox 64+, Edge 18+
+				// Some browsers don't support the "nonce" property on scripts.
+				// On the other hand, just using `getAttribute` is not enough as
+				// the `nonce` attribute is reset to an empty string whenever it
+				// becomes browsing-context connected.
+				// See https://github.com/whatwg/html/issues/2369
+				// See https://html.spec.whatwg.org/#nonce-attributes
+				// The `node.getAttribute` check was added for the sake of
+				// `jQuery.globalEval` so that it can fake a nonce-containing node
+				// via an object.
+				val = node[ i ] || node.getAttribute && node.getAttribute( i );
+				if ( val ) {
+					script.setAttribute( i, val );
 				}
 			}
 		}
@@ -129,7 +149,7 @@ function toType( obj ) {
 
 
 var
-	version = "3.3.1",
+	version = "3.6.1",
 
 	// Define a local copy of jQuery
 	jQuery = function( selector, context ) {
@@ -137,11 +157,7 @@ var
 		// The jQuery object is actually just the init constructor 'enhanced'
 		// Need init if jQuery is called (just allow error to be thrown if not included)
 		return new jQuery.fn.init( selector, context );
-	},
-
-	// Support: Android <=4.0 only
-	// Make sure we trim BOM and NBSP
-	rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
+	};
 
 jQuery.fn = jQuery.prototype = {
 
@@ -207,6 +223,18 @@ jQuery.fn = jQuery.prototype = {
 		return this.eq( -1 );
 	},
 
+	even: function() {
+		return this.pushStack( jQuery.grep( this, function( _elem, i ) {
+			return ( i + 1 ) % 2;
+		} ) );
+	},
+
+	odd: function() {
+		return this.pushStack( jQuery.grep( this, function( _elem, i ) {
+			return i % 2;
+		} ) );
+	},
+
 	eq: function( i ) {
 		var len = this.length,
 			j = +i + ( i < 0 ? len : 0 );
@@ -258,7 +286,6 @@ jQuery.extend = jQuery.fn.extend = function() {
 
 			// Extend the base object
 			for ( name in options ) {
-				src = target[ name ];
 				copy = options[ name ];
 
 				// Prevent Object.prototype pollution
@@ -270,14 +297,17 @@ jQuery.extend = jQuery.fn.extend = function() {
 				// Recurse if we're merging plain objects or arrays
 				if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
 					( copyIsArray = Array.isArray( copy ) ) ) ) {
+					src = target[ name ];
 
-					if ( copyIsArray ) {
-						copyIsArray = false;
-						clone = src && Array.isArray( src ) ? src : [];
-
+					// Ensure proper type for the source value
+					if ( copyIsArray && !Array.isArray( src ) ) {
+						clone = [];
+					} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {
+						clone = {};
 					} else {
-						clone = src && jQuery.isPlainObject( src ) ? src : {};
+						clone = src;
 					}
+					copyIsArray = false;
 
 					// Never move original objects, clone them
 					target[ name ] = jQuery.extend( deep, clone, copy );
@@ -330,9 +360,6 @@ jQuery.extend( {
 	},
 
 	isEmptyObject: function( obj ) {
-
-		/* eslint-disable no-unused-vars */
-		// See https://github.com/eslint/eslint/issues/6125
 		var name;
 
 		for ( name in obj ) {
@@ -341,9 +368,10 @@ jQuery.extend( {
 		return true;
 	},
 
-	// Evaluates a script in a global context
-	globalEval: function( code ) {
-		DOMEval( code );
+	// Evaluates a script in a provided context; falls back to the global one
+	// if not specified.
+	globalEval: function( code, options, doc ) {
+		DOMEval( code, { nonce: options && options.nonce }, doc );
 	},
 
 	each: function( obj, callback ) {
@@ -367,13 +395,6 @@ jQuery.extend( {
 		return obj;
 	},
 
-	// Support: Android <=4.0 only
-	trim: function( text ) {
-		return text == null ?
-			"" :
-			( text + "" ).replace( rtrim, "" );
-	},
-
 	// results is for internal usage only
 	makeArray: function( arr, results ) {
 		var ret = results || [];
@@ -382,7 +403,7 @@ jQuery.extend( {
 			if ( isArrayLike( Object( arr ) ) ) {
 				jQuery.merge( ret,
 					typeof arr === "string" ?
-					[ arr ] : arr
+						[ arr ] : arr
 				);
 			} else {
 				push.call( ret, arr );
@@ -460,7 +481,7 @@ jQuery.extend( {
 		}
 
 		// Flatten any nested arrays
-		return concat.apply( [], ret );
+		return flat( ret );
 	},
 
 	// A global GUID counter for objects
@@ -477,9 +498,9 @@ if ( typeof Symbol === "function" ) {
 
 // Populate the class2type map
 jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
-function( i, name ) {
-	class2type[ "[object " + name + "]" ] = name.toLowerCase();
-} );
+	function( _i, name ) {
+		class2type[ "[object " + name + "]" ] = name.toLowerCase();
+	} );
 
 function isArrayLike( obj ) {
 
@@ -499,17 +520,16 @@ function isArrayLike( obj ) {
 }
 var Sizzle =
 /*!
- * Sizzle CSS Selector Engine v2.3.3
+ * Sizzle CSS Selector Engine v2.3.6
  * https://sizzlejs.com/
  *
- * Copyright jQuery Foundation and other contributors
+ * Copyright JS Foundation and other contributors
  * Released under the MIT license
- * http://jquery.org/license
+ * https://js.foundation/
  *
- * Date: 2016-08-08
+ * Date: 2021-02-16
  */
-(function( window ) {
-
+( function( window ) {
 var i,
 	support,
 	Expr,
@@ -540,6 +560,7 @@ var i,
 	classCache = createCache(),
 	tokenCache = createCache(),
 	compilerCache = createCache(),
+	nonnativeSelectorCache = createCache(),
 	sortOrder = function( a, b ) {
 		if ( a === b ) {
 			hasDuplicate = true;
@@ -548,61 +569,71 @@ var i,
 	},
 
 	// Instance methods
-	hasOwn = ({}).hasOwnProperty,
+	hasOwn = ( {} ).hasOwnProperty,
 	arr = [],
 	pop = arr.pop,
-	push_native = arr.push,
+	pushNative = arr.push,
 	push = arr.push,
 	slice = arr.slice,
+
 	// Use a stripped-down indexOf as it's faster than native
 	// https://jsperf.com/thor-indexof-vs-for/5
 	indexOf = function( list, elem ) {
 		var i = 0,
 			len = list.length;
 		for ( ; i < len; i++ ) {
-			if ( list[i] === elem ) {
+			if ( list[ i ] === elem ) {
 				return i;
 			}
 		}
 		return -1;
 	},
 
-	booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
+	booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" +
+		"ismap|loop|multiple|open|readonly|required|scoped",
 
 	// Regular expressions
 
 	// http://www.w3.org/TR/css3-selectors/#whitespace
 	whitespace = "[\\x20\\t\\r\\n\\f]",
 
-	// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
-	identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
+	// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram
+	identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace +
+		"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
 
 	// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
 	attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
+
 		// Operator (capture 2)
 		"*([*^$|!~]?=)" + whitespace +
-		// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
-		"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
-		"*\\]",
+
+		// "Attribute values must be CSS identifiers [capture 5]
+		// or strings [capture 3 or capture 4]"
+		"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" +
+		whitespace + "*\\]",
 
 	pseudos = ":(" + identifier + ")(?:\\((" +
+
 		// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
 		// 1. quoted (capture 3; capture 4 or capture 5)
 		"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
+
 		// 2. simple (capture 6)
 		"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
+
 		// 3. anything else (capture 2)
 		".*" +
 		")\\)|)",
 
 	// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
 	rwhitespace = new RegExp( whitespace + "+", "g" ),
-	rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
+	rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" +
+		whitespace + "+$", "g" ),
 
 	rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
-	rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
-
-	rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
+	rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace +
+		"*" ),
+	rdescend = new RegExp( whitespace + "|>" ),
 
 	rpseudo = new RegExp( pseudos ),
 	ridentifier = new RegExp( "^" + identifier + "$" ),
@@ -613,16 +644,19 @@ var i,
 		"TAG": new RegExp( "^(" + identifier + "|[*])" ),
 		"ATTR": new RegExp( "^" + attributes ),
 		"PSEUDO": new RegExp( "^" + pseudos ),
-		"CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
-			"*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
-			"*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+		"CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" +
+			whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" +
+			whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
 		"bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
+
 		// For use in libraries implementing .is()
 		// We use this for POS matching in `select`
-		"needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
-			whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
+		"needsContext": new RegExp( "^" + whitespace +
+			"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace +
+			"*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
 	},
 
+	rhtml = /HTML$/i,
 	rinputs = /^(?:input|select|textarea|button)$/i,
 	rheader = /^h\d$/i,
 
@@ -635,18 +669,21 @@ var i,
 
 	// CSS escapes
 	// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
-	runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
-	funescape = function( _, escaped, escapedWhitespace ) {
-		var high = "0x" + escaped - 0x10000;
-		// NaN means non-codepoint
-		// Support: Firefox<24
-		// Workaround erroneous numeric interpretation of +"0x"
-		return high !== high || escapedWhitespace ?
-			escaped :
+	runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ),
+	funescape = function( escape, nonHex ) {
+		var high = "0x" + escape.slice( 1 ) - 0x10000;
+
+		return nonHex ?
+
+			// Strip the backslash prefix from a non-hex escape sequence
+			nonHex :
+
+			// Replace a hexadecimal escape sequence with the encoded Unicode code point
+			// Support: IE <=11+
+			// For values outside the Basic Multilingual Plane (BMP), manually construct a
+			// surrogate pair
 			high < 0 ?
-				// BMP codepoint
 				String.fromCharCode( high + 0x10000 ) :
-				// Supplemental Plane codepoint (surrogate pair)
 				String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
 	},
 
@@ -662,7 +699,8 @@ var i,
 			}
 
 			// Control characters and (dependent upon position) numbers get escaped as code points
-			return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
+			return ch.slice( 0, -1 ) + "\\" +
+				ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
 		}
 
 		// Other potentially-special ASCII characters get backslash-escaped
@@ -677,9 +715,9 @@ var i,
 		setDocument();
 	},
 
-	disabledAncestor = addCombinator(
+	inDisabledFieldset = addCombinator(
 		function( elem ) {
-			return elem.disabled === true && ("form" in elem || "label" in elem);
+			return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset";
 		},
 		{ dir: "parentNode", next: "legend" }
 	);
@@ -687,18 +725,20 @@ var i,
 // Optimize for push.apply( _, NodeList )
 try {
 	push.apply(
-		(arr = slice.call( preferredDoc.childNodes )),
+		( arr = slice.call( preferredDoc.childNodes ) ),
 		preferredDoc.childNodes
 	);
+
 	// Support: Android<4.0
 	// Detect silently failing push.apply
+	// eslint-disable-next-line no-unused-expressions
 	arr[ preferredDoc.childNodes.length ].nodeType;
 } catch ( e ) {
 	push = { apply: arr.length ?
 
 		// Leverage slice if possible
 		function( target, els ) {
-			push_native.apply( target, slice.call(els) );
+			pushNative.apply( target, slice.call( els ) );
 		} :
 
 		// Support: IE<9
@@ -706,8 +746,9 @@ try {
 		function( target, els ) {
 			var j = target.length,
 				i = 0;
+
 			// Can't trust NodeList.length
-			while ( (target[j++] = els[i++]) ) {}
+			while ( ( target[ j++ ] = els[ i++ ] ) ) {}
 			target.length = j - 1;
 		}
 	};
@@ -731,24 +772,21 @@ function Sizzle( selector, context, results, seed ) {
 
 	// Try to shortcut find operations (as opposed to filters) in HTML documents
 	if ( !seed ) {
-
-		if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
-			setDocument( context );
-		}
+		setDocument( context );
 		context = context || document;
 
 		if ( documentIsHTML ) {
 
 			// If the selector is sufficiently simple, try using a "get*By*" DOM method
 			// (excepting DocumentFragment context, where the methods don't exist)
-			if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
+			if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {
 
 				// ID selector
-				if ( (m = match[1]) ) {
+				if ( ( m = match[ 1 ] ) ) {
 
 					// Document context
 					if ( nodeType === 9 ) {
-						if ( (elem = context.getElementById( m )) ) {
+						if ( ( elem = context.getElementById( m ) ) ) {
 
 							// Support: IE, Opera, Webkit
 							// TODO: identify versions
@@ -767,7 +805,7 @@ function Sizzle( selector, context, results, seed ) {
 						// Support: IE, Opera, Webkit
 						// TODO: identify versions
 						// getElementById can match elements by name instead of ID
-						if ( newContext && (elem = newContext.getElementById( m )) &&
+						if ( newContext && ( elem = newContext.getElementById( m ) ) &&
 							contains( context, elem ) &&
 							elem.id === m ) {
 
@@ -777,12 +815,12 @@ function Sizzle( selector, context, results, seed ) {
 					}
 
 				// Type selector
-				} else if ( match[2] ) {
+				} else if ( match[ 2 ] ) {
 					push.apply( results, context.getElementsByTagName( selector ) );
 					return results;
 
 				// Class selector
-				} else if ( (m = match[3]) && support.getElementsByClassName &&
+				} else if ( ( m = match[ 3 ] ) && support.getElementsByClassName &&
 					context.getElementsByClassName ) {
 
 					push.apply( results, context.getElementsByClassName( m ) );
@@ -792,50 +830,62 @@ function Sizzle( selector, context, results, seed ) {
 
 			// Take advantage of querySelectorAll
 			if ( support.qsa &&
-				!compilerCache[ selector + " " ] &&
-				(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
-
-				if ( nodeType !== 1 ) {
-					newContext = context;
-					newSelector = selector;
+				!nonnativeSelectorCache[ selector + " " ] &&
+				( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&
 
-				// qSA looks outside Element context, which is not what we want
-				// Thanks to Andrew Dupont for this workaround technique
-				// Support: IE <=8
+				// Support: IE 8 only
 				// Exclude object elements
-				} else if ( context.nodeName.toLowerCase() !== "object" ) {
+				( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) {
 
-					// Capture the context ID, setting it first if necessary
-					if ( (nid = context.getAttribute( "id" )) ) {
-						nid = nid.replace( rcssescape, fcssescape );
-					} else {
-						context.setAttribute( "id", (nid = expando) );
+				newSelector = selector;
+				newContext = context;
+
+				// qSA considers elements outside a scoping root when evaluating child or
+				// descendant combinators, which is not what we want.
+				// In such cases, we work around the behavior by prefixing every selector in the
+				// list with an ID selector referencing the scope context.
+				// The technique has to be used as well when a leading combinator is used
+				// as such selectors are not recognized by querySelectorAll.
+				// Thanks to Andrew Dupont for this technique.
+				if ( nodeType === 1 &&
+					( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {
+
+					// Expand context for sibling selectors
+					newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
+						context;
+
+					// We can use :scope instead of the ID hack if the browser
+					// supports it & if we're not changing the context.
+					if ( newContext !== context || !support.scope ) {
+
+						// Capture the context ID, setting it first if necessary
+						if ( ( nid = context.getAttribute( "id" ) ) ) {
+							nid = nid.replace( rcssescape, fcssescape );
+						} else {
+							context.setAttribute( "id", ( nid = expando ) );
+						}
 					}
 
 					// Prefix every selector in the list
 					groups = tokenize( selector );
 					i = groups.length;
 					while ( i-- ) {
-						groups[i] = "#" + nid + " " + toSelector( groups[i] );
+						groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " +
+							toSelector( groups[ i ] );
 					}
 					newSelector = groups.join( "," );
-
-					// Expand context for sibling selectors
-					newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
-						context;
 				}
 
-				if ( newSelector ) {
-					try {
-						push.apply( results,
-							newContext.querySelectorAll( newSelector )
-						);
-						return results;
-					} catch ( qsaError ) {
-					} finally {
-						if ( nid === expando ) {
-							context.removeAttribute( "id" );
-						}
+				try {
+					push.apply( results,
+						newContext.querySelectorAll( newSelector )
+					);
+					return results;
+				} catch ( qsaError ) {
+					nonnativeSelectorCache( selector, true );
+				} finally {
+					if ( nid === expando ) {
+						context.removeAttribute( "id" );
 					}
 				}
 			}
@@ -856,12 +906,14 @@ function createCache() {
 	var keys = [];
 
 	function cache( key, value ) {
+
 		// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
 		if ( keys.push( key + " " ) > Expr.cacheLength ) {
+
 			// Only keep the most recent entries
 			delete cache[ keys.shift() ];
 		}
-		return (cache[ key + " " ] = value);
+		return ( cache[ key + " " ] = value );
 	}
 	return cache;
 }
@@ -880,17 +932,19 @@ function markFunction( fn ) {
  * @param {Function} fn Passed the created element and returns a boolean result
  */
 function assert( fn ) {
-	var el = document.createElement("fieldset");
+	var el = document.createElement( "fieldset" );
 
 	try {
 		return !!fn( el );
-	} catch (e) {
+	} catch ( e ) {
 		return false;
 	} finally {
+
 		// Remove from its parent by default
 		if ( el.parentNode ) {
 			el.parentNode.removeChild( el );
 		}
+
 		// release memory in IE
 		el = null;
 	}
@@ -902,11 +956,11 @@ function assert( fn ) {
  * @param {Function} handler The method that will be applied
  */
 function addHandle( attrs, handler ) {
-	var arr = attrs.split("|"),
+	var arr = attrs.split( "|" ),
 		i = arr.length;
 
 	while ( i-- ) {
-		Expr.attrHandle[ arr[i] ] = handler;
+		Expr.attrHandle[ arr[ i ] ] = handler;
 	}
 }
 
@@ -928,7 +982,7 @@ function siblingCheck( a, b ) {
 
 	// Check if b follows a
 	if ( cur ) {
-		while ( (cur = cur.nextSibling) ) {
+		while ( ( cur = cur.nextSibling ) ) {
 			if ( cur === b ) {
 				return -1;
 			}
@@ -956,7 +1010,7 @@ function createInputPseudo( type ) {
 function createButtonPseudo( type ) {
 	return function( elem ) {
 		var name = elem.nodeName.toLowerCase();
-		return (name === "input" || name === "button") && elem.type === type;
+		return ( name === "input" || name === "button" ) && elem.type === type;
 	};
 }
 
@@ -999,7 +1053,7 @@ function createDisabledPseudo( disabled ) {
 					// Where there is no isDisabled, check manually
 					/* jshint -W018 */
 					elem.isDisabled !== !disabled &&
-						disabledAncestor( elem ) === disabled;
+					inDisabledFieldset( elem ) === disabled;
 			}
 
 			return elem.disabled === disabled;
@@ -1021,21 +1075,21 @@ function createDisabledPseudo( disabled ) {
  * @param {Function} fn
  */
 function createPositionalPseudo( fn ) {
-	return markFunction(function( argument ) {
+	return markFunction( function( argument ) {
 		argument = +argument;
-		return markFunction(function( seed, matches ) {
+		return markFunction( function( seed, matches ) {
 			var j,
 				matchIndexes = fn( [], seed.length, argument ),
 				i = matchIndexes.length;
 
 			// Match elements found at the specified indexes
 			while ( i-- ) {
-				if ( seed[ (j = matchIndexes[i]) ] ) {
-					seed[j] = !(matches[j] = seed[j]);
+				if ( seed[ ( j = matchIndexes[ i ] ) ] ) {
+					seed[ j ] = !( matches[ j ] = seed[ j ] );
 				}
 			}
-		});
-	});
+		} );
+	} );
 }
 
 /**
@@ -1056,10 +1110,13 @@ support = Sizzle.support = {};
  * @returns {Boolean} True iff elem is a non-HTML XML node
  */
 isXML = Sizzle.isXML = function( elem ) {
-	// documentElement is verified for cases where it doesn't yet exist
-	// (such as loading iframes in IE - #4833)
-	var documentElement = elem && (elem.ownerDocument || elem).documentElement;
-	return documentElement ? documentElement.nodeName !== "HTML" : false;
+	var namespace = elem && elem.namespaceURI,
+		docElem = elem && ( elem.ownerDocument || elem ).documentElement;
+
+	// Support: IE <=8
+	// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
+	// https://bugs.jquery.com/ticket/4833
+	return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" );
 };
 
 /**
@@ -1072,7 +1129,11 @@ setDocument = Sizzle.setDocument = function( node ) {
 		doc = node ? node.ownerDocument || node : preferredDoc;
 
 	// Return early if doc is invalid or already selected
-	if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
+	// Support: IE 11+, Edge 17 - 18+
+	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+	// two documents; shallow comparisons work.
+	// eslint-disable-next-line eqeqeq
+	if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {
 		return document;
 	}
 
@@ -1081,10 +1142,14 @@ setDocument = Sizzle.setDocument = function( node ) {
 	docElem = document.documentElement;
 	documentIsHTML = !isXML( document );
 
-	// Support: IE 9-11, Edge
+	// Support: IE 9 - 11+, Edge 12 - 18+
 	// Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
-	if ( preferredDoc !== document &&
-		(subWindow = document.defaultView) && subWindow.top !== subWindow ) {
+	// Support: IE 11+, Edge 17 - 18+
+	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+	// two documents; shallow comparisons work.
+	// eslint-disable-next-line eqeqeq
+	if ( preferredDoc != document &&
+		( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {
 
 		// Support: IE 11, Edge
 		if ( subWindow.addEventListener ) {
@@ -1096,25 +1161,36 @@ setDocument = Sizzle.setDocument = function( node ) {
 		}
 	}
 
+	// Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,
+	// Safari 4 - 5 only, Opera <=11.6 - 12.x only
+	// IE/Edge & older browsers don't support the :scope pseudo-class.
+	// Support: Safari 6.0 only
+	// Safari 6.0 supports :scope but it's an alias of :root there.
+	support.scope = assert( function( el ) {
+		docElem.appendChild( el ).appendChild( document.createElement( "div" ) );
+		return typeof el.querySelectorAll !== "undefined" &&
+			!el.querySelectorAll( ":scope fieldset div" ).length;
+	} );
+
 	/* Attributes
 	---------------------------------------------------------------------- */
 
 	// Support: IE<8
 	// Verify that getAttribute really returns attributes and not properties
 	// (excepting IE8 booleans)
-	support.attributes = assert(function( el ) {
+	support.attributes = assert( function( el ) {
 		el.className = "i";
-		return !el.getAttribute("className");
-	});
+		return !el.getAttribute( "className" );
+	} );
 
 	/* getElement(s)By*
 	---------------------------------------------------------------------- */
 
 	// Check if getElementsByTagName("*") returns only elements
-	support.getElementsByTagName = assert(function( el ) {
-		el.appendChild( document.createComment("") );
-		return !el.getElementsByTagName("*").length;
-	});
+	support.getElementsByTagName = assert( function( el ) {
+		el.appendChild( document.createComment( "" ) );
+		return !el.getElementsByTagName( "*" ).length;
+	} );
 
 	// Support: IE<9
 	support.getElementsByClassName = rnative.test( document.getElementsByClassName );
@@ -1123,38 +1199,38 @@ setDocument = Sizzle.setDocument = function( node ) {
 	// Check if getElementById returns elements by name
 	// The broken getElementById methods don't pick up programmatically-set names,
 	// so use a roundabout getElementsByName test
-	support.getById = assert(function( el ) {
+	support.getById = assert( function( el ) {
 		docElem.appendChild( el ).id = expando;
 		return !document.getElementsByName || !document.getElementsByName( expando ).length;
-	});
+	} );
 
 	// ID filter and find
 	if ( support.getById ) {
-		Expr.filter["ID"] = function( id ) {
+		Expr.filter[ "ID" ] = function( id ) {
 			var attrId = id.replace( runescape, funescape );
 			return function( elem ) {
-				return elem.getAttribute("id") === attrId;
+				return elem.getAttribute( "id" ) === attrId;
 			};
 		};
-		Expr.find["ID"] = function( id, context ) {
+		Expr.find[ "ID" ] = function( id, context ) {
 			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
 				var elem = context.getElementById( id );
 				return elem ? [ elem ] : [];
 			}
 		};
 	} else {
-		Expr.filter["ID"] =  function( id ) {
+		Expr.filter[ "ID" ] =  function( id ) {
 			var attrId = id.replace( runescape, funescape );
 			return function( elem ) {
 				var node = typeof elem.getAttributeNode !== "undefined" &&
-					elem.getAttributeNode("id");
+					elem.getAttributeNode( "id" );
 				return node && node.value === attrId;
 			};
 		};
 
 		// Support: IE 6 - 7 only
 		// getElementById is not reliable as a find shortcut
-		Expr.find["ID"] = function( id, context ) {
+		Expr.find[ "ID" ] = function( id, context ) {
 			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
 				var node, i, elems,
 					elem = context.getElementById( id );
@@ -1162,7 +1238,7 @@ setDocument = Sizzle.setDocument = function( node ) {
 				if ( elem ) {
 
 					// Verify the id attribute
-					node = elem.getAttributeNode("id");
+					node = elem.getAttributeNode( "id" );
 					if ( node && node.value === id ) {
 						return [ elem ];
 					}
@@ -1170,8 +1246,8 @@ setDocument = Sizzle.setDocument = function( node ) {
 					// Fall back on getElementsByName
 					elems = context.getElementsByName( id );
 					i = 0;
-					while ( (elem = elems[i++]) ) {
-						node = elem.getAttributeNode("id");
+					while ( ( elem = elems[ i++ ] ) ) {
+						node = elem.getAttributeNode( "id" );
 						if ( node && node.value === id ) {
 							return [ elem ];
 						}
@@ -1184,7 +1260,7 @@ setDocument = Sizzle.setDocument = function( node ) {
 	}
 
 	// Tag
-	Expr.find["TAG"] = support.getElementsByTagName ?
+	Expr.find[ "TAG" ] = support.getElementsByTagName ?
 		function( tag, context ) {
 			if ( typeof context.getElementsByTagName !== "undefined" ) {
 				return context.getElementsByTagName( tag );
@@ -1199,12 +1275,13 @@ setDocument = Sizzle.setDocument = function( node ) {
 			var elem,
 				tmp = [],
 				i = 0,
+
 				// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
 				results = context.getElementsByTagName( tag );
 
 			// Filter out possible comments
 			if ( tag === "*" ) {
-				while ( (elem = results[i++]) ) {
+				while ( ( elem = results[ i++ ] ) ) {
 					if ( elem.nodeType === 1 ) {
 						tmp.push( elem );
 					}
@@ -1216,7 +1293,7 @@ setDocument = Sizzle.setDocument = function( node ) {
 		};
 
 	// Class
-	Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
+	Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) {
 		if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
 			return context.getElementsByClassName( className );
 		}
@@ -1237,10 +1314,14 @@ setDocument = Sizzle.setDocument = function( node ) {
 	// See https://bugs.jquery.com/ticket/13378
 	rbuggyQSA = [];
 
-	if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
+	if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) {
+
 		// Build QSA regex
 		// Regex strategy adopted from Diego Perini
-		assert(function( el ) {
+		assert( function( el ) {
+
+			var input;
+
 			// Select is set to empty string on purpose
 			// This is to test IE's treatment of not explicitly
 			// setting a boolean content attribute,
@@ -1254,78 +1335,98 @@ setDocument = Sizzle.setDocument = function( node ) {
 			// Nothing should be selected when empty strings follow ^= or $= or *=
 			// The test attribute must be unknown in Opera but "safe" for WinRT
 			// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
-			if ( el.querySelectorAll("[msallowcapture^='']").length ) {
+			if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) {
 				rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
 			}
 
 			// Support: IE8
 			// Boolean attributes and "value" are not treated correctly
-			if ( !el.querySelectorAll("[selected]").length ) {
+			if ( !el.querySelectorAll( "[selected]" ).length ) {
 				rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
 			}
 
 			// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
 			if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
-				rbuggyQSA.push("~=");
+				rbuggyQSA.push( "~=" );
+			}
+
+			// Support: IE 11+, Edge 15 - 18+
+			// IE 11/Edge don't find elements on a `[name='']` query in some cases.
+			// Adding a temporary attribute to the document before the selection works
+			// around the issue.
+			// Interestingly, IE 10 & older don't seem to have the issue.
+			input = document.createElement( "input" );
+			input.setAttribute( "name", "" );
+			el.appendChild( input );
+			if ( !el.querySelectorAll( "[name='']" ).length ) {
+				rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" +
+					whitespace + "*(?:''|\"\")" );
 			}
 
 			// Webkit/Opera - :checked should return selected option elements
 			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
 			// IE8 throws error here and will not see later tests
-			if ( !el.querySelectorAll(":checked").length ) {
-				rbuggyQSA.push(":checked");
+			if ( !el.querySelectorAll( ":checked" ).length ) {
+				rbuggyQSA.push( ":checked" );
 			}
 
 			// Support: Safari 8+, iOS 8+
 			// https://bugs.webkit.org/show_bug.cgi?id=136851
 			// In-page `selector#id sibling-combinator selector` fails
 			if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
-				rbuggyQSA.push(".#.+[+~]");
+				rbuggyQSA.push( ".#.+[+~]" );
 			}
-		});
 
-		assert(function( el ) {
+			// Support: Firefox <=3.6 - 5 only
+			// Old Firefox doesn't throw on a badly-escaped identifier.
+			el.querySelectorAll( "\\\f" );
+			rbuggyQSA.push( "[\\r\\n\\f]" );
+		} );
+
+		assert( function( el ) {
 			el.innerHTML = "<a href='' disabled='disabled'></a>" +
 				"<select disabled='disabled'><option/></select>";
 
 			// Support: Windows 8 Native Apps
 			// The type and name attributes are restricted during .innerHTML assignment
-			var input = document.createElement("input");
+			var input = document.createElement( "input" );
 			input.setAttribute( "type", "hidden" );
 			el.appendChild( input ).setAttribute( "name", "D" );
 
 			// Support: IE8
 			// Enforce case-sensitivity of name attribute
-			if ( el.querySelectorAll("[name=d]").length ) {
+			if ( el.querySelectorAll( "[name=d]" ).length ) {
 				rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
 			}
 
 			// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
 			// IE8 throws error here and will not see later tests
-			if ( el.querySelectorAll(":enabled").length !== 2 ) {
+			if ( el.querySelectorAll( ":enabled" ).length !== 2 ) {
 				rbuggyQSA.push( ":enabled", ":disabled" );
 			}
 
 			// Support: IE9-11+
 			// IE's :disabled selector does not pick up the children of disabled fieldsets
 			docElem.appendChild( el ).disabled = true;
-			if ( el.querySelectorAll(":disabled").length !== 2 ) {
+			if ( el.querySelectorAll( ":disabled" ).length !== 2 ) {
 				rbuggyQSA.push( ":enabled", ":disabled" );
 			}
 
+			// Support: Opera 10 - 11 only
 			// Opera 10-11 does not throw on post-comma invalid pseudos
-			el.querySelectorAll("*,:x");
-			rbuggyQSA.push(",.*:");
-		});
+			el.querySelectorAll( "*,:x" );
+			rbuggyQSA.push( ",.*:" );
+		} );
 	}
 
-	if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
+	if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches ||
 		docElem.webkitMatchesSelector ||
 		docElem.mozMatchesSelector ||
 		docElem.oMatchesSelector ||
-		docElem.msMatchesSelector) )) ) {
+		docElem.msMatchesSelector ) ) ) ) {
+
+		assert( function( el ) {
 
-		assert(function( el ) {
 			// Check to see if it's possible to do matchesSelector
 			// on a disconnected node (IE 9)
 			support.disconnectedMatch = matches.call( el, "*" );
@@ -1334,11 +1435,11 @@ setDocument = Sizzle.setDocument = function( node ) {
 			// Gecko does not error, returns false instead
 			matches.call( el, "[s!='']:x" );
 			rbuggyMatches.push( "!=", pseudos );
-		});
+		} );
 	}
 
-	rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
-	rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
+	rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) );
+	rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) );
 
 	/* Contains
 	---------------------------------------------------------------------- */
@@ -1355,11 +1456,11 @@ setDocument = Sizzle.setDocument = function( node ) {
 				adown.contains ?
 					adown.contains( bup ) :
 					a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
-			));
+			) );
 		} :
 		function( a, b ) {
 			if ( b ) {
-				while ( (b = b.parentNode) ) {
+				while ( ( b = b.parentNode ) ) {
 					if ( b === a ) {
 						return true;
 					}
@@ -1388,7 +1489,11 @@ setDocument = Sizzle.setDocument = function( node ) {
 		}
 
 		// Calculate position if both inputs belong to the same document
-		compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
+		// Support: IE 11+, Edge 17 - 18+
+		// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+		// two documents; shallow comparisons work.
+		// eslint-disable-next-line eqeqeq
+		compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?
 			a.compareDocumentPosition( b ) :
 
 			// Otherwise we know they are disconnected
@@ -1396,13 +1501,24 @@ setDocument = Sizzle.setDocument = function( node ) {
 
 		// Disconnected nodes
 		if ( compare & 1 ||
-			(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
+			( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {
 
 			// Choose the first element that is related to our preferred document
-			if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
+			// Support: IE 11+, Edge 17 - 18+
+			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+			// two documents; shallow comparisons work.
+			// eslint-disable-next-line eqeqeq
+			if ( a == document || a.ownerDocument == preferredDoc &&
+				contains( preferredDoc, a ) ) {
 				return -1;
 			}
-			if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
+
+			// Support: IE 11+, Edge 17 - 18+
+			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+			// two documents; shallow comparisons work.
+			// eslint-disable-next-line eqeqeq
+			if ( b == document || b.ownerDocument == preferredDoc &&
+				contains( preferredDoc, b ) ) {
 				return 1;
 			}
 
@@ -1415,6 +1531,7 @@ setDocument = Sizzle.setDocument = function( node ) {
 		return compare & 4 ? -1 : 1;
 	} :
 	function( a, b ) {
+
 		// Exit early if the nodes are identical
 		if ( a === b ) {
 			hasDuplicate = true;
@@ -1430,8 +1547,14 @@ setDocument = Sizzle.setDocument = function( node ) {
 
 		// Parentless nodes are either documents or disconnected
 		if ( !aup || !bup ) {
-			return a === document ? -1 :
-				b === document ? 1 :
+
+			// Support: IE 11+, Edge 17 - 18+
+			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+			// two documents; shallow comparisons work.
+			/* eslint-disable eqeqeq */
+			return a == document ? -1 :
+				b == document ? 1 :
+				/* eslint-enable eqeqeq */
 				aup ? -1 :
 				bup ? 1 :
 				sortInput ?
@@ -1445,26 +1568,32 @@ setDocument = Sizzle.setDocument = function( node ) {
 
 		// Otherwise we need full lists of their ancestors for comparison
 		cur = a;
-		while ( (cur = cur.parentNode) ) {
+		while ( ( cur = cur.parentNode ) ) {
 			ap.unshift( cur );
 		}
 		cur = b;
-		while ( (cur = cur.parentNode) ) {
+		while ( ( cur = cur.parentNode ) ) {
 			bp.unshift( cur );
 		}
 
 		// Walk down the tree looking for a discrepancy
-		while ( ap[i] === bp[i] ) {
+		while ( ap[ i ] === bp[ i ] ) {
 			i++;
 		}
 
 		return i ?
+
 			// Do a sibling check if the nodes have a common ancestor
-			siblingCheck( ap[i], bp[i] ) :
+			siblingCheck( ap[ i ], bp[ i ] ) :
 
 			// Otherwise nodes in our document sort first
-			ap[i] === preferredDoc ? -1 :
-			bp[i] === preferredDoc ? 1 :
+			// Support: IE 11+, Edge 17 - 18+
+			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+			// two documents; shallow comparisons work.
+			/* eslint-disable eqeqeq */
+			ap[ i ] == preferredDoc ? -1 :
+			bp[ i ] == preferredDoc ? 1 :
+			/* eslint-enable eqeqeq */
 			0;
 	};
 
@@ -1476,16 +1605,10 @@ Sizzle.matches = function( expr, elements ) {
 };
 
 Sizzle.matchesSelector = function( elem, expr ) {
-	// Set document vars if needed
-	if ( ( elem.ownerDocument || elem ) !== document ) {
-		setDocument( elem );
-	}
-
-	// Make sure that attribute selectors are quoted
-	expr = expr.replace( rattributeQuotes, "='$1']" );
+	setDocument( elem );
 
 	if ( support.matchesSelector && documentIsHTML &&
-		!compilerCache[ expr + " " ] &&
+		!nonnativeSelectorCache[ expr + " " ] &&
 		( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
 		( !rbuggyQSA     || !rbuggyQSA.test( expr ) ) ) {
 
@@ -1494,32 +1617,46 @@ Sizzle.matchesSelector = function( elem, expr ) {
 
 			// IE 9's matchesSelector returns false on disconnected nodes
 			if ( ret || support.disconnectedMatch ||
-					// As well, disconnected nodes are said to be in a document
-					// fragment in IE 9
-					elem.document && elem.document.nodeType !== 11 ) {
+
+				// As well, disconnected nodes are said to be in a document
+				// fragment in IE 9
+				elem.document && elem.document.nodeType !== 11 ) {
 				return ret;
 			}
-		} catch (e) {}
+		} catch ( e ) {
+			nonnativeSelectorCache( expr, true );
+		}
 	}
 
 	return Sizzle( expr, document, null, [ elem ] ).length > 0;
 };
 
 Sizzle.contains = function( context, elem ) {
+
 	// Set document vars if needed
-	if ( ( context.ownerDocument || context ) !== document ) {
+	// Support: IE 11+, Edge 17 - 18+
+	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+	// two documents; shallow comparisons work.
+	// eslint-disable-next-line eqeqeq
+	if ( ( context.ownerDocument || context ) != document ) {
 		setDocument( context );
 	}
 	return contains( context, elem );
 };
 
 Sizzle.attr = function( elem, name ) {
+
 	// Set document vars if needed
-	if ( ( elem.ownerDocument || elem ) !== document ) {
+	// Support: IE 11+, Edge 17 - 18+
+	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+	// two documents; shallow comparisons work.
+	// eslint-disable-next-line eqeqeq
+	if ( ( elem.ownerDocument || elem ) != document ) {
 		setDocument( elem );
 	}
 
 	var fn = Expr.attrHandle[ name.toLowerCase() ],
+
 		// Don't get fooled by Object.prototype properties (jQuery #13807)
 		val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
 			fn( elem, name, !documentIsHTML ) :
@@ -1529,13 +1666,13 @@ Sizzle.attr = function( elem, name ) {
 		val :
 		support.attributes || !documentIsHTML ?
 			elem.getAttribute( name ) :
-			(val = elem.getAttributeNode(name)) && val.specified ?
+			( val = elem.getAttributeNode( name ) ) && val.specified ?
 				val.value :
 				null;
 };
 
 Sizzle.escape = function( sel ) {
-	return (sel + "").replace( rcssescape, fcssescape );
+	return ( sel + "" ).replace( rcssescape, fcssescape );
 };
 
 Sizzle.error = function( msg ) {
@@ -1558,7 +1695,7 @@ Sizzle.uniqueSort = function( results ) {
 	results.sort( sortOrder );
 
 	if ( hasDuplicate ) {
-		while ( (elem = results[i++]) ) {
+		while ( ( elem = results[ i++ ] ) ) {
 			if ( elem === results[ i ] ) {
 				j = duplicates.push( i );
 			}
@@ -1586,17 +1723,21 @@ getText = Sizzle.getText = function( elem ) {
 		nodeType = elem.nodeType;
 
 	if ( !nodeType ) {
+
 		// If no nodeType, this is expected to be an array
-		while ( (node = elem[i++]) ) {
+		while ( ( node = elem[ i++ ] ) ) {
+
 			// Do not traverse comment nodes
 			ret += getText( node );
 		}
 	} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+
 		// Use textContent for elements
 		// innerText usage removed for consistency of new lines (jQuery #11153)
 		if ( typeof elem.textContent === "string" ) {
 			return elem.textContent;
 		} else {
+
 			// Traverse its children
 			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
 				ret += getText( elem );
@@ -1605,6 +1746,7 @@ getText = Sizzle.getText = function( elem ) {
 	} else if ( nodeType === 3 || nodeType === 4 ) {
 		return elem.nodeValue;
 	}
+
 	// Do not include comment or processing instruction nodes
 
 	return ret;
@@ -1632,19 +1774,21 @@ Expr = Sizzle.selectors = {
 
 	preFilter: {
 		"ATTR": function( match ) {
-			match[1] = match[1].replace( runescape, funescape );
+			match[ 1 ] = match[ 1 ].replace( runescape, funescape );
 
 			// Move the given value to match[3] whether quoted or unquoted
-			match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
+			match[ 3 ] = ( match[ 3 ] || match[ 4 ] ||
+				match[ 5 ] || "" ).replace( runescape, funescape );
 
-			if ( match[2] === "~=" ) {
-				match[3] = " " + match[3] + " ";
+			if ( match[ 2 ] === "~=" ) {
+				match[ 3 ] = " " + match[ 3 ] + " ";
 			}
 
 			return match.slice( 0, 4 );
 		},
 
 		"CHILD": function( match ) {
+
 			/* matches from matchExpr["CHILD"]
 				1 type (only|nth|...)
 				2 what (child|of-type)
@@ -1655,22 +1799,25 @@ Expr = Sizzle.selectors = {
 				7 sign of y-component
 				8 y of y-component
 			*/
-			match[1] = match[1].toLowerCase();
+			match[ 1 ] = match[ 1 ].toLowerCase();
+
+			if ( match[ 1 ].slice( 0, 3 ) === "nth" ) {
 
-			if ( match[1].slice( 0, 3 ) === "nth" ) {
 				// nth-* requires argument
-				if ( !match[3] ) {
-					Sizzle.error( match[0] );
+				if ( !match[ 3 ] ) {
+					Sizzle.error( match[ 0 ] );
 				}
 
 				// numeric x and y parameters for Expr.filter.CHILD
 				// remember that false/true cast respectively to 0/1
-				match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
-				match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
+				match[ 4 ] = +( match[ 4 ] ?
+					match[ 5 ] + ( match[ 6 ] || 1 ) :
+					2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) );
+				match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" );
 
-			// other types prohibit arguments
-			} else if ( match[3] ) {
-				Sizzle.error( match[0] );
+				// other types prohibit arguments
+			} else if ( match[ 3 ] ) {
+				Sizzle.error( match[ 0 ] );
 			}
 
 			return match;
@@ -1678,26 +1825,28 @@ Expr = Sizzle.selectors = {
 
 		"PSEUDO": function( match ) {
 			var excess,
-				unquoted = !match[6] && match[2];
+				unquoted = !match[ 6 ] && match[ 2 ];
 
-			if ( matchExpr["CHILD"].test( match[0] ) ) {
+			if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) {
 				return null;
 			}
 
 			// Accept quoted arguments as-is
-			if ( match[3] ) {
-				match[2] = match[4] || match[5] || "";
+			if ( match[ 3 ] ) {
+				match[ 2 ] = match[ 4 ] || match[ 5 ] || "";
 
 			// Strip excess characters from unquoted arguments
 			} else if ( unquoted && rpseudo.test( unquoted ) &&
+
 				// Get excess from tokenize (recursively)
-				(excess = tokenize( unquoted, true )) &&
+				( excess = tokenize( unquoted, true ) ) &&
+
 				// advance to the next closing parenthesis
-				(excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
+				( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) {
 
 				// excess is a negative index
-				match[0] = match[0].slice( 0, excess );
-				match[2] = unquoted.slice( 0, excess );
+				match[ 0 ] = match[ 0 ].slice( 0, excess );
+				match[ 2 ] = unquoted.slice( 0, excess );
 			}
 
 			// Return only captures needed by the pseudo filter method (type and argument)
@@ -1710,7 +1859,9 @@ Expr = Sizzle.selectors = {
 		"TAG": function( nodeNameSelector ) {
 			var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
 			return nodeNameSelector === "*" ?
-				function() { return true; } :
+				function() {
+					return true;
+				} :
 				function( elem ) {
 					return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
 				};
@@ -1720,10 +1871,16 @@ Expr = Sizzle.selectors = {
 			var pattern = classCache[ className + " " ];
 
 			return pattern ||
-				(pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
-				classCache( className, function( elem ) {
-					return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
-				});
+				( pattern = new RegExp( "(^|" + whitespace +
+					")" + className + "(" + whitespace + "|$)" ) ) && classCache(
+						className, function( elem ) {
+							return pattern.test(
+								typeof elem.className === "string" && elem.className ||
+								typeof elem.getAttribute !== "undefined" &&
+									elem.getAttribute( "class" ) ||
+								""
+							);
+				} );
 		},
 
 		"ATTR": function( name, operator, check ) {
@@ -1739,6 +1896,8 @@ Expr = Sizzle.selectors = {
 
 				result += "";
 
+				/* eslint-disable max-len */
+
 				return operator === "=" ? result === check :
 					operator === "!=" ? result !== check :
 					operator === "^=" ? check && result.indexOf( check ) === 0 :
@@ -1747,10 +1906,12 @@ Expr = Sizzle.selectors = {
 					operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
 					operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
 					false;
+				/* eslint-enable max-len */
+
 			};
 		},
 
-		"CHILD": function( type, what, argument, first, last ) {
+		"CHILD": function( type, what, _argument, first, last ) {
 			var simple = type.slice( 0, 3 ) !== "nth",
 				forward = type.slice( -4 ) !== "last",
 				ofType = what === "of-type";
@@ -1762,7 +1923,7 @@ Expr = Sizzle.selectors = {
 					return !!elem.parentNode;
 				} :
 
-				function( elem, context, xml ) {
+				function( elem, _context, xml ) {
 					var cache, uniqueCache, outerCache, node, nodeIndex, start,
 						dir = simple !== forward ? "nextSibling" : "previousSibling",
 						parent = elem.parentNode,
@@ -1776,7 +1937,7 @@ Expr = Sizzle.selectors = {
 						if ( simple ) {
 							while ( dir ) {
 								node = elem;
-								while ( (node = node[ dir ]) ) {
+								while ( ( node = node[ dir ] ) ) {
 									if ( ofType ?
 										node.nodeName.toLowerCase() === name :
 										node.nodeType === 1 ) {
@@ -1784,6 +1945,7 @@ Expr = Sizzle.selectors = {
 										return false;
 									}
 								}
+
 								// Reverse direction for :only-* (if we haven't yet done so)
 								start = dir = type === "only" && !start && "nextSibling";
 							}
@@ -1799,22 +1961,22 @@ Expr = Sizzle.selectors = {
 
 							// ...in a gzip-friendly way
 							node = parent;
-							outerCache = node[ expando ] || (node[ expando ] = {});
+							outerCache = node[ expando ] || ( node[ expando ] = {} );
 
 							// Support: IE <9 only
 							// Defend against cloned attroperties (jQuery gh-1709)
 							uniqueCache = outerCache[ node.uniqueID ] ||
-								(outerCache[ node.uniqueID ] = {});
+								( outerCache[ node.uniqueID ] = {} );
 
 							cache = uniqueCache[ type ] || [];
 							nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
 							diff = nodeIndex && cache[ 2 ];
 							node = nodeIndex && parent.childNodes[ nodeIndex ];
 
-							while ( (node = ++nodeIndex && node && node[ dir ] ||
+							while ( ( node = ++nodeIndex && node && node[ dir ] ||
 
 								// Fallback to seeking `elem` from the start
-								(diff = nodeIndex = 0) || start.pop()) ) {
+								( diff = nodeIndex = 0 ) || start.pop() ) ) {
 
 								// When found, cache indexes on `parent` and break
 								if ( node.nodeType === 1 && ++diff && node === elem ) {
@@ -1824,16 +1986,18 @@ Expr = Sizzle.selectors = {
 							}
 
 						} else {
+
 							// Use previously-cached element index if available
 							if ( useCache ) {
+
 								// ...in a gzip-friendly way
 								node = elem;
-								outerCache = node[ expando ] || (node[ expando ] = {});
+								outerCache = node[ expando ] || ( node[ expando ] = {} );
 
 								// Support: IE <9 only
 								// Defend against cloned attroperties (jQuery gh-1709)
 								uniqueCache = outerCache[ node.uniqueID ] ||
-									(outerCache[ node.uniqueID ] = {});
+									( outerCache[ node.uniqueID ] = {} );
 
 								cache = uniqueCache[ type ] || [];
 								nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
@@ -1843,9 +2007,10 @@ Expr = Sizzle.selectors = {
 							// xml :nth-child(...)
 							// or :nth-last-child(...) or :nth(-last)?-of-type(...)
 							if ( diff === false ) {
+
 								// Use the same loop as above to seek `elem` from the start
-								while ( (node = ++nodeIndex && node && node[ dir ] ||
-									(diff = nodeIndex = 0) || start.pop()) ) {
+								while ( ( node = ++nodeIndex && node && node[ dir ] ||
+									( diff = nodeIndex = 0 ) || start.pop() ) ) {
 
 									if ( ( ofType ?
 										node.nodeName.toLowerCase() === name :
@@ -1854,12 +2019,13 @@ Expr = Sizzle.selectors = {
 
 										// Cache the index of each encountered element
 										if ( useCache ) {
-											outerCache = node[ expando ] || (node[ expando ] = {});
+											outerCache = node[ expando ] ||
+												( node[ expando ] = {} );
 
 											// Support: IE <9 only
 											// Defend against cloned attroperties (jQuery gh-1709)
 											uniqueCache = outerCache[ node.uniqueID ] ||
-												(outerCache[ node.uniqueID ] = {});
+												( outerCache[ node.uniqueID ] = {} );
 
 											uniqueCache[ type ] = [ dirruns, diff ];
 										}
@@ -1880,6 +2046,7 @@ Expr = Sizzle.selectors = {
 		},
 
 		"PSEUDO": function( pseudo, argument ) {
+
 			// pseudo-class names are case-insensitive
 			// http://www.w3.org/TR/selectors/#pseudo-classes
 			// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
@@ -1899,15 +2066,15 @@ Expr = Sizzle.selectors = {
 			if ( fn.length > 1 ) {
 				args = [ pseudo, pseudo, "", argument ];
 				return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
-					markFunction(function( seed, matches ) {
+					markFunction( function( seed, matches ) {
 						var idx,
 							matched = fn( seed, argument ),
 							i = matched.length;
 						while ( i-- ) {
-							idx = indexOf( seed, matched[i] );
-							seed[ idx ] = !( matches[ idx ] = matched[i] );
+							idx = indexOf( seed, matched[ i ] );
+							seed[ idx ] = !( matches[ idx ] = matched[ i ] );
 						}
-					}) :
+					} ) :
 					function( elem ) {
 						return fn( elem, 0, args );
 					};
@@ -1918,8 +2085,10 @@ Expr = Sizzle.selectors = {
 	},
 
 	pseudos: {
+
 		// Potentially complex pseudos
-		"not": markFunction(function( selector ) {
+		"not": markFunction( function( selector ) {
+
 			// Trim the selector passed to compile
 			// to avoid treating leading and trailing
 			// spaces as combinators
@@ -1928,39 +2097,40 @@ Expr = Sizzle.selectors = {
 				matcher = compile( selector.replace( rtrim, "$1" ) );
 
 			return matcher[ expando ] ?
-				markFunction(function( seed, matches, context, xml ) {
+				markFunction( function( seed, matches, _context, xml ) {
 					var elem,
 						unmatched = matcher( seed, null, xml, [] ),
 						i = seed.length;
 
 					// Match elements unmatched by `matcher`
 					while ( i-- ) {
-						if ( (elem = unmatched[i]) ) {
-							seed[i] = !(matches[i] = elem);
+						if ( ( elem = unmatched[ i ] ) ) {
+							seed[ i ] = !( matches[ i ] = elem );
 						}
 					}
-				}) :
-				function( elem, context, xml ) {
-					input[0] = elem;
+				} ) :
+				function( elem, _context, xml ) {
+					input[ 0 ] = elem;
 					matcher( input, null, xml, results );
+
 					// Don't keep the element (issue #299)
-					input[0] = null;
+					input[ 0 ] = null;
 					return !results.pop();
 				};
-		}),
+		} ),
 
-		"has": markFunction(function( selector ) {
+		"has": markFunction( function( selector ) {
 			return function( elem ) {
 				return Sizzle( selector, elem ).length > 0;
 			};
-		}),
+		} ),
 
-		"contains": markFunction(function( text ) {
+		"contains": markFunction( function( text ) {
 			text = text.replace( runescape, funescape );
 			return function( elem ) {
-				return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
+				return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;
 			};
-		}),
+		} ),
 
 		// "Whether an element is represented by a :lang() selector
 		// is based solely on the element's language value
@@ -1970,25 +2140,26 @@ Expr = Sizzle.selectors = {
 		// The identifier C does not have to be a valid language name."
 		// http://www.w3.org/TR/selectors/#lang-pseudo
 		"lang": markFunction( function( lang ) {
+
 			// lang value must be a valid identifier
-			if ( !ridentifier.test(lang || "") ) {
+			if ( !ridentifier.test( lang || "" ) ) {
 				Sizzle.error( "unsupported lang: " + lang );
 			}
 			lang = lang.replace( runescape, funescape ).toLowerCase();
 			return function( elem ) {
 				var elemLang;
 				do {
-					if ( (elemLang = documentIsHTML ?
+					if ( ( elemLang = documentIsHTML ?
 						elem.lang :
-						elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
+						elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) {
 
 						elemLang = elemLang.toLowerCase();
 						return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
 					}
-				} while ( (elem = elem.parentNode) && elem.nodeType === 1 );
+				} while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );
 				return false;
 			};
-		}),
+		} ),
 
 		// Miscellaneous
 		"target": function( elem ) {
@@ -2001,7 +2172,9 @@ Expr = Sizzle.selectors = {
 		},
 
 		"focus": function( elem ) {
-			return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
+			return elem === document.activeElement &&
+				( !document.hasFocus || document.hasFocus() ) &&
+				!!( elem.type || elem.href || ~elem.tabIndex );
 		},
 
 		// Boolean properties
@@ -2009,16 +2182,20 @@ Expr = Sizzle.selectors = {
 		"disabled": createDisabledPseudo( true ),
 
 		"checked": function( elem ) {
+
 			// In CSS3, :checked should return both checked and selected elements
 			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
 			var nodeName = elem.nodeName.toLowerCase();
-			return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
+			return ( nodeName === "input" && !!elem.checked ) ||
+				( nodeName === "option" && !!elem.selected );
 		},
 
 		"selected": function( elem ) {
+
 			// Accessing this property makes selected-by-default
 			// options in Safari work properly
 			if ( elem.parentNode ) {
+				// eslint-disable-next-line no-unused-expressions
 				elem.parentNode.selectedIndex;
 			}
 
@@ -2027,6 +2204,7 @@ Expr = Sizzle.selectors = {
 
 		// Contents
 		"empty": function( elem ) {
+
 			// http://www.w3.org/TR/selectors/#empty-pseudo
 			// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
 			//   but not by others (comment: 8; processing instruction: 7; etc.)
@@ -2040,7 +2218,7 @@ Expr = Sizzle.selectors = {
 		},
 
 		"parent": function( elem ) {
-			return !Expr.pseudos["empty"]( elem );
+			return !Expr.pseudos[ "empty" ]( elem );
 		},
 
 		// Element/input types
@@ -2064,57 +2242,62 @@ Expr = Sizzle.selectors = {
 
 				// Support: IE<8
 				// New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
-				( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
+				( ( attr = elem.getAttribute( "type" ) ) == null ||
+					attr.toLowerCase() === "text" );
 		},
 
 		// Position-in-collection
-		"first": createPositionalPseudo(function() {
+		"first": createPositionalPseudo( function() {
 			return [ 0 ];
-		}),
+		} ),
 
-		"last": createPositionalPseudo(function( matchIndexes, length ) {
+		"last": createPositionalPseudo( function( _matchIndexes, length ) {
 			return [ length - 1 ];
-		}),
+		} ),
 
-		"eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
+		"eq": createPositionalPseudo( function( _matchIndexes, length, argument ) {
 			return [ argument < 0 ? argument + length : argument ];
-		}),
+		} ),
 
-		"even": createPositionalPseudo(function( matchIndexes, length ) {
+		"even": createPositionalPseudo( function( matchIndexes, length ) {
 			var i = 0;
 			for ( ; i < length; i += 2 ) {
 				matchIndexes.push( i );
 			}
 			return matchIndexes;
-		}),
+		} ),
 
-		"odd": createPositionalPseudo(function( matchIndexes, length ) {
+		"odd": createPositionalPseudo( function( matchIndexes, length ) {
 			var i = 1;
 			for ( ; i < length; i += 2 ) {
 				matchIndexes.push( i );
 			}
 			return matchIndexes;
-		}),
+		} ),
 
-		"lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
-			var i = argument < 0 ? argument + length : argument;
+		"lt": createPositionalPseudo( function( matchIndexes, length, argument ) {
+			var i = argument < 0 ?
+				argument + length :
+				argument > length ?
+					length :
+					argument;
 			for ( ; --i >= 0; ) {
 				matchIndexes.push( i );
 			}
 			return matchIndexes;
-		}),
+		} ),
 
-		"gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+		"gt": createPositionalPseudo( function( matchIndexes, length, argument ) {
 			var i = argument < 0 ? argument + length : argument;
 			for ( ; ++i < length; ) {
 				matchIndexes.push( i );
 			}
 			return matchIndexes;
-		})
+		} )
 	}
 };
 
-Expr.pseudos["nth"] = Expr.pseudos["eq"];
+Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ];
 
 // Add button/input type pseudos
 for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
@@ -2145,37 +2328,39 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
 	while ( soFar ) {
 
 		// Comma and first run
-		if ( !matched || (match = rcomma.exec( soFar )) ) {
+		if ( !matched || ( match = rcomma.exec( soFar ) ) ) {
 			if ( match ) {
+
 				// Don't consume trailing commas as valid
-				soFar = soFar.slice( match[0].length ) || soFar;
+				soFar = soFar.slice( match[ 0 ].length ) || soFar;
 			}
-			groups.push( (tokens = []) );
+			groups.push( ( tokens = [] ) );
 		}
 
 		matched = false;
 
 		// Combinators
-		if ( (match = rcombinators.exec( soFar )) ) {
+		if ( ( match = rcombinators.exec( soFar ) ) ) {
 			matched = match.shift();
-			tokens.push({
+			tokens.push( {
 				value: matched,
+
 				// Cast descendant combinators to space
-				type: match[0].replace( rtrim, " " )
-			});
+				type: match[ 0 ].replace( rtrim, " " )
+			} );
 			soFar = soFar.slice( matched.length );
 		}
 
 		// Filters
 		for ( type in Expr.filter ) {
-			if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
-				(match = preFilters[ type ]( match ))) ) {
+			if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||
+				( match = preFilters[ type ]( match ) ) ) ) {
 				matched = match.shift();
-				tokens.push({
+				tokens.push( {
 					value: matched,
 					type: type,
 					matches: match
-				});
+				} );
 				soFar = soFar.slice( matched.length );
 			}
 		}
@@ -2192,6 +2377,7 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
 		soFar.length :
 		soFar ?
 			Sizzle.error( selector ) :
+
 			// Cache the tokens
 			tokenCache( selector, groups ).slice( 0 );
 };
@@ -2201,7 +2387,7 @@ function toSelector( tokens ) {
 		len = tokens.length,
 		selector = "";
 	for ( ; i < len; i++ ) {
-		selector += tokens[i].value;
+		selector += tokens[ i ].value;
 	}
 	return selector;
 }
@@ -2214,9 +2400,10 @@ function addCombinator( matcher, combinator, base ) {
 		doneName = done++;
 
 	return combinator.first ?
+
 		// Check against closest ancestor/preceding element
 		function( elem, context, xml ) {
-			while ( (elem = elem[ dir ]) ) {
+			while ( ( elem = elem[ dir ] ) ) {
 				if ( elem.nodeType === 1 || checkNonElements ) {
 					return matcher( elem, context, xml );
 				}
@@ -2231,7 +2418,7 @@ function addCombinator( matcher, combinator, base ) {
 
 			// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
 			if ( xml ) {
-				while ( (elem = elem[ dir ]) ) {
+				while ( ( elem = elem[ dir ] ) ) {
 					if ( elem.nodeType === 1 || checkNonElements ) {
 						if ( matcher( elem, context, xml ) ) {
 							return true;
@@ -2239,27 +2426,29 @@ function addCombinator( matcher, combinator, base ) {
 					}
 				}
 			} else {
-				while ( (elem = elem[ dir ]) ) {
+				while ( ( elem = elem[ dir ] ) ) {
 					if ( elem.nodeType === 1 || checkNonElements ) {
-						outerCache = elem[ expando ] || (elem[ expando ] = {});
+						outerCache = elem[ expando ] || ( elem[ expando ] = {} );
 
 						// Support: IE <9 only
 						// Defend against cloned attroperties (jQuery gh-1709)
-						uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
+						uniqueCache = outerCache[ elem.uniqueID ] ||
+							( outerCache[ elem.uniqueID ] = {} );
 
 						if ( skip && skip === elem.nodeName.toLowerCase() ) {
 							elem = elem[ dir ] || elem;
-						} else if ( (oldCache = uniqueCache[ key ]) &&
+						} else if ( ( oldCache = uniqueCache[ key ] ) &&
 							oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
 
 							// Assign to newCache so results back-propagate to previous elements
-							return (newCache[ 2 ] = oldCache[ 2 ]);
+							return ( newCache[ 2 ] = oldCache[ 2 ] );
 						} else {
+
 							// Reuse newcache so results back-propagate to previous elements
 							uniqueCache[ key ] = newCache;
 
 							// A match means we're done; a fail means we have to keep checking
-							if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
+							if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {
 								return true;
 							}
 						}
@@ -2275,20 +2464,20 @@ function elementMatcher( matchers ) {
 		function( elem, context, xml ) {
 			var i = matchers.length;
 			while ( i-- ) {
-				if ( !matchers[i]( elem, context, xml ) ) {
+				if ( !matchers[ i ]( elem, context, xml ) ) {
 					return false;
 				}
 			}
 			return true;
 		} :
-		matchers[0];
+		matchers[ 0 ];
 }
 
 function multipleContexts( selector, contexts, results ) {
 	var i = 0,
 		len = contexts.length;
 	for ( ; i < len; i++ ) {
-		Sizzle( selector, contexts[i], results );
+		Sizzle( selector, contexts[ i ], results );
 	}
 	return results;
 }
@@ -2301,7 +2490,7 @@ function condense( unmatched, map, filter, context, xml ) {
 		mapped = map != null;
 
 	for ( ; i < len; i++ ) {
-		if ( (elem = unmatched[i]) ) {
+		if ( ( elem = unmatched[ i ] ) ) {
 			if ( !filter || filter( elem, context, xml ) ) {
 				newUnmatched.push( elem );
 				if ( mapped ) {
@@ -2321,14 +2510,18 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
 	if ( postFinder && !postFinder[ expando ] ) {
 		postFinder = setMatcher( postFinder, postSelector );
 	}
-	return markFunction(function( seed, results, context, xml ) {
+	return markFunction( function( seed, results, context, xml ) {
 		var temp, i, elem,
 			preMap = [],
 			postMap = [],
 			preexisting = results.length,
 
 			// Get initial elements from seed or context
-			elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
+			elems = seed || multipleContexts(
+				selector || "*",
+				context.nodeType ? [ context ] : context,
+				[]
+			),
 
 			// Prefilter to get matcher input, preserving a map for seed-results synchronization
 			matcherIn = preFilter && ( seed || !selector ) ?
@@ -2336,6 +2529,7 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
 				elems,
 
 			matcherOut = matcher ?
+
 				// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
 				postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
 
@@ -2359,8 +2553,8 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
 			// Un-match failing elements by moving them back to matcherIn
 			i = temp.length;
 			while ( i-- ) {
-				if ( (elem = temp[i]) ) {
-					matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+				if ( ( elem = temp[ i ] ) ) {
+					matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );
 				}
 			}
 		}
@@ -2368,25 +2562,27 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
 		if ( seed ) {
 			if ( postFinder || preFilter ) {
 				if ( postFinder ) {
+
 					// Get the final matcherOut by condensing this intermediate into postFinder contexts
 					temp = [];
 					i = matcherOut.length;
 					while ( i-- ) {
-						if ( (elem = matcherOut[i]) ) {
+						if ( ( elem = matcherOut[ i ] ) ) {
+
 							// Restore matcherIn since elem is not yet a final match
-							temp.push( (matcherIn[i] = elem) );
+							temp.push( ( matcherIn[ i ] = elem ) );
 						}
 					}
-					postFinder( null, (matcherOut = []), temp, xml );
+					postFinder( null, ( matcherOut = [] ), temp, xml );
 				}
 
 				// Move matched elements from seed to results to keep them synchronized
 				i = matcherOut.length;
 				while ( i-- ) {
-					if ( (elem = matcherOut[i]) &&
-						(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
+					if ( ( elem = matcherOut[ i ] ) &&
+						( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) {
 
-						seed[temp] = !(results[temp] = elem);
+						seed[ temp ] = !( results[ temp ] = elem );
 					}
 				}
 			}
@@ -2404,14 +2600,14 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS
 				push.apply( results, matcherOut );
 			}
 		}
-	});
+	} );
 }
 
 function matcherFromTokens( tokens ) {
 	var checkContext, matcher, j,
 		len = tokens.length,
-		leadingRelative = Expr.relative[ tokens[0].type ],
-		implicitRelative = leadingRelative || Expr.relative[" "],
+		leadingRelative = Expr.relative[ tokens[ 0 ].type ],
+		implicitRelative = leadingRelative || Expr.relative[ " " ],
 		i = leadingRelative ? 1 : 0,
 
 		// The foundational matcher ensures that elements are reachable from top-level context(s)
@@ -2423,38 +2619,43 @@ function matcherFromTokens( tokens ) {
 		}, implicitRelative, true ),
 		matchers = [ function( elem, context, xml ) {
 			var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
-				(checkContext = context).nodeType ?
+				( checkContext = context ).nodeType ?
 					matchContext( elem, context, xml ) :
 					matchAnyContext( elem, context, xml ) );
+
 			// Avoid hanging onto element (issue #299)
 			checkContext = null;
 			return ret;
 		} ];
 
 	for ( ; i < len; i++ ) {
-		if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
-			matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
+		if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {
+			matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];
 		} else {
-			matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
+			matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );
 
 			// Return special upon seeing a positional matcher
 			if ( matcher[ expando ] ) {
+
 				// Find the next relative operator (if any) for proper handling
 				j = ++i;
 				for ( ; j < len; j++ ) {
-					if ( Expr.relative[ tokens[j].type ] ) {
+					if ( Expr.relative[ tokens[ j ].type ] ) {
 						break;
 					}
 				}
 				return setMatcher(
 					i > 1 && elementMatcher( matchers ),
 					i > 1 && toSelector(
-						// If the preceding token was a descendant combinator, insert an implicit any-element `*`
-						tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
+
+					// If the preceding token was a descendant combinator, insert an implicit any-element `*`
+					tokens
+						.slice( 0, i - 1 )
+						.concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } )
 					).replace( rtrim, "$1" ),
 					matcher,
 					i < j && matcherFromTokens( tokens.slice( i, j ) ),
-					j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
+					j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),
 					j < len && toSelector( tokens )
 				);
 			}
@@ -2475,28 +2676,40 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
 				unmatched = seed && [],
 				setMatched = [],
 				contextBackup = outermostContext,
+
 				// We must always have either seed elements or outermost context
-				elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
+				elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ),
+
 				// Use integer dirruns iff this is the outermost matcher
-				dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
+				dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),
 				len = elems.length;
 
 			if ( outermost ) {
-				outermostContext = context === document || context || outermost;
+
+				// Support: IE 11+, Edge 17 - 18+
+				// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+				// two documents; shallow comparisons work.
+				// eslint-disable-next-line eqeqeq
+				outermostContext = context == document || context || outermost;
 			}
 
 			// Add elements passing elementMatchers directly to results
 			// Support: IE<9, Safari
 			// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
-			for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
+			for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {
 				if ( byElement && elem ) {
 					j = 0;
-					if ( !context && elem.ownerDocument !== document ) {
+
+					// Support: IE 11+, Edge 17 - 18+
+					// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+					// two documents; shallow comparisons work.
+					// eslint-disable-next-line eqeqeq
+					if ( !context && elem.ownerDocument != document ) {
 						setDocument( elem );
 						xml = !documentIsHTML;
 					}
-					while ( (matcher = elementMatchers[j++]) ) {
-						if ( matcher( elem, context || document, xml) ) {
+					while ( ( matcher = elementMatchers[ j++ ] ) ) {
+						if ( matcher( elem, context || document, xml ) ) {
 							results.push( elem );
 							break;
 						}
@@ -2508,8 +2721,9 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
 
 				// Track unmatched elements for set filters
 				if ( bySet ) {
+
 					// They will have gone through all possible matchers
-					if ( (elem = !matcher && elem) ) {
+					if ( ( elem = !matcher && elem ) ) {
 						matchedCount--;
 					}
 
@@ -2533,16 +2747,17 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
 			// numerically zero.
 			if ( bySet && i !== matchedCount ) {
 				j = 0;
-				while ( (matcher = setMatchers[j++]) ) {
+				while ( ( matcher = setMatchers[ j++ ] ) ) {
 					matcher( unmatched, setMatched, context, xml );
 				}
 
 				if ( seed ) {
+
 					// Reintegrate element matches to eliminate the need for sorting
 					if ( matchedCount > 0 ) {
 						while ( i-- ) {
-							if ( !(unmatched[i] || setMatched[i]) ) {
-								setMatched[i] = pop.call( results );
+							if ( !( unmatched[ i ] || setMatched[ i ] ) ) {
+								setMatched[ i ] = pop.call( results );
 							}
 						}
 					}
@@ -2583,13 +2798,14 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
 		cached = compilerCache[ selector + " " ];
 
 	if ( !cached ) {
+
 		// Generate a function of recursive functions that can be used to check each element
 		if ( !match ) {
 			match = tokenize( selector );
 		}
 		i = match.length;
 		while ( i-- ) {
-			cached = matcherFromTokens( match[i] );
+			cached = matcherFromTokens( match[ i ] );
 			if ( cached[ expando ] ) {
 				setMatchers.push( cached );
 			} else {
@@ -2598,7 +2814,10 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
 		}
 
 		// Cache the compiled function
-		cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
+		cached = compilerCache(
+			selector,
+			matcherFromGroupMatchers( elementMatchers, setMatchers )
+		);
 
 		// Save selector and tokenization
 		cached.selector = selector;
@@ -2618,7 +2837,7 @@ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
 select = Sizzle.select = function( selector, context, results, seed ) {
 	var i, tokens, token, type, find,
 		compiled = typeof selector === "function" && selector,
-		match = !seed && tokenize( (selector = compiled.selector || selector) );
+		match = !seed && tokenize( ( selector = compiled.selector || selector ) );
 
 	results = results || [];
 
@@ -2627,11 +2846,12 @@ select = Sizzle.select = function( selector, context, results, seed ) {
 	if ( match.length === 1 ) {
 
 		// Reduce context if the leading compound selector is an ID
-		tokens = match[0] = match[0].slice( 0 );
-		if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
-				context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {
+		tokens = match[ 0 ] = match[ 0 ].slice( 0 );
+		if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" &&
+			context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {
 
-			context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
+			context = ( Expr.find[ "ID" ]( token.matches[ 0 ]
+				.replace( runescape, funescape ), context ) || [] )[ 0 ];
 			if ( !context ) {
 				return results;
 
@@ -2644,20 +2864,22 @@ select = Sizzle.select = function( selector, context, results, seed ) {
 		}
 
 		// Fetch a seed set for right-to-left matching
-		i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
+		i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length;
 		while ( i-- ) {
-			token = tokens[i];
+			token = tokens[ i ];
 
 			// Abort if we hit a combinator
-			if ( Expr.relative[ (type = token.type) ] ) {
+			if ( Expr.relative[ ( type = token.type ) ] ) {
 				break;
 			}
-			if ( (find = Expr.find[ type ]) ) {
+			if ( ( find = Expr.find[ type ] ) ) {
+
 				// Search, expanding context for leading sibling combinators
-				if ( (seed = find(
-					token.matches[0].replace( runescape, funescape ),
-					rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
-				)) ) {
+				if ( ( seed = find(
+					token.matches[ 0 ].replace( runescape, funescape ),
+					rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) ||
+						context
+				) ) ) {
 
 					// If seed is empty or no tokens remain, we can return early
 					tokens.splice( i, 1 );
@@ -2688,7 +2910,7 @@ select = Sizzle.select = function( selector, context, results, seed ) {
 // One-time assignments
 
 // Sort stability
-support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
+support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando;
 
 // Support: Chrome 14-35+
 // Always assume duplicates if they aren't passed to the comparison function
@@ -2699,58 +2921,59 @@ setDocument();
 
 // Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
 // Detached nodes confoundingly follow *each other*
-support.sortDetached = assert(function( el ) {
+support.sortDetached = assert( function( el ) {
+
 	// Should return 1, but returns 4 (following)
-	return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
-});
+	return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1;
+} );
 
 // Support: IE<8
 // Prevent attribute/property "interpolation"
 // https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
-if ( !assert(function( el ) {
+if ( !assert( function( el ) {
 	el.innerHTML = "<a href='#'></a>";
-	return el.firstChild.getAttribute("href") === "#" ;
-}) ) {
+	return el.firstChild.getAttribute( "href" ) === "#";
+} ) ) {
 	addHandle( "type|href|height|width", function( elem, name, isXML ) {
 		if ( !isXML ) {
 			return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
 		}
-	});
+	} );
 }
 
 // Support: IE<9
 // Use defaultValue in place of getAttribute("value")
-if ( !support.attributes || !assert(function( el ) {
+if ( !support.attributes || !assert( function( el ) {
 	el.innerHTML = "<input/>";
 	el.firstChild.setAttribute( "value", "" );
 	return el.firstChild.getAttribute( "value" ) === "";
-}) ) {
-	addHandle( "value", function( elem, name, isXML ) {
+} ) ) {
+	addHandle( "value", function( elem, _name, isXML ) {
 		if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
 			return elem.defaultValue;
 		}
-	});
+	} );
 }
 
 // Support: IE<9
 // Use getAttributeNode to fetch booleans when getAttribute lies
-if ( !assert(function( el ) {
-	return el.getAttribute("disabled") == null;
-}) ) {
+if ( !assert( function( el ) {
+	return el.getAttribute( "disabled" ) == null;
+} ) ) {
 	addHandle( booleans, function( elem, name, isXML ) {
 		var val;
 		if ( !isXML ) {
 			return elem[ name ] === true ? name.toLowerCase() :
-					(val = elem.getAttributeNode( name )) && val.specified ?
+				( val = elem.getAttributeNode( name ) ) && val.specified ?
 					val.value :
-				null;
+					null;
 		}
-	});
+	} );
 }
 
 return Sizzle;
 
-})( window );
+} )( window );
 
 
 
@@ -2803,9 +3026,9 @@ var rneedsContext = jQuery.expr.match.needsContext;
 
 function nodeName( elem, name ) {
 
-  return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+	return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
 
-};
+}
 var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
 
 
@@ -2904,8 +3127,8 @@ jQuery.fn.extend( {
 var rootjQuery,
 
 	// A simple way to check for HTML strings
-	// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
-	// Strict HTML recognition (#11290: must start with <)
+	// Prioritize #id over <tag> to avoid XSS via location.hash (trac-9521)
+	// Strict HTML recognition (trac-11290: must start with <)
 	// Shortcut simple #id case for speed
 	rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
 
@@ -3119,7 +3342,7 @@ jQuery.each( {
 	parents: function( elem ) {
 		return dir( elem, "parentNode" );
 	},
-	parentsUntil: function( elem, i, until ) {
+	parentsUntil: function( elem, _i, until ) {
 		return dir( elem, "parentNode", until );
 	},
 	next: function( elem ) {
@@ -3134,10 +3357,10 @@ jQuery.each( {
 	prevAll: function( elem ) {
 		return dir( elem, "previousSibling" );
 	},
-	nextUntil: function( elem, i, until ) {
+	nextUntil: function( elem, _i, until ) {
 		return dir( elem, "nextSibling", until );
 	},
-	prevUntil: function( elem, i, until ) {
+	prevUntil: function( elem, _i, until ) {
 		return dir( elem, "previousSibling", until );
 	},
 	siblings: function( elem ) {
@@ -3147,18 +3370,24 @@ jQuery.each( {
 		return siblings( elem.firstChild );
 	},
 	contents: function( elem ) {
-        if ( nodeName( elem, "iframe" ) ) {
-            return elem.contentDocument;
-        }
+		if ( elem.contentDocument != null &&
+
+			// Support: IE 11+
+			// <object> elements with no `data` attribute has an object
+			// `contentDocument` with a `null` prototype.
+			getProto( elem.contentDocument ) ) {
 
-        // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
-        // Treat the template element as a regular one in browsers that
-        // don't support it.
-        if ( nodeName( elem, "template" ) ) {
-            elem = elem.content || elem;
-        }
+			return elem.contentDocument;
+		}
 
-        return jQuery.merge( [], elem.childNodes );
+		// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
+		// Treat the template element as a regular one in browsers that
+		// don't support it.
+		if ( nodeName( elem, "template" ) ) {
+			elem = elem.content || elem;
+		}
+
+		return jQuery.merge( [], elem.childNodes );
 	}
 }, function( name, fn ) {
 	jQuery.fn[ name ] = function( until, selector ) {
@@ -3490,7 +3719,7 @@ jQuery.extend( {
 					var fns = arguments;
 
 					return jQuery.Deferred( function( newDefer ) {
-						jQuery.each( tuples, function( i, tuple ) {
+						jQuery.each( tuples, function( _i, tuple ) {
 
 							// Map tuples (progress, done, fail) to arguments (done, fail, progress)
 							var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
@@ -3770,8 +3999,8 @@ jQuery.extend( {
 			resolveContexts = Array( i ),
 			resolveValues = slice.call( arguments ),
 
-			// the master Deferred
-			master = jQuery.Deferred(),
+			// the primary Deferred
+			primary = jQuery.Deferred(),
 
 			// subordinate callback factory
 			updateFunc = function( i ) {
@@ -3779,30 +4008,30 @@ jQuery.extend( {
 					resolveContexts[ i ] = this;
 					resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
 					if ( !( --remaining ) ) {
-						master.resolveWith( resolveContexts, resolveValues );
+						primary.resolveWith( resolveContexts, resolveValues );
 					}
 				};
 			};
 
 		// Single- and empty arguments are adopted like Promise.resolve
 		if ( remaining <= 1 ) {
-			adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,
+			adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject,
 				!remaining );
 
 			// Use .then() to unwrap secondary thenables (cf. gh-3000)
-			if ( master.state() === "pending" ||
+			if ( primary.state() === "pending" ||
 				isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
 
-				return master.then();
+				return primary.then();
 			}
 		}
 
 		// Multiple arguments are aggregated like Promise.all array elements
 		while ( i-- ) {
-			adoptValue( resolveValues[ i ], updateFunc( i ), master.reject );
+			adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject );
 		}
 
-		return master.promise();
+		return primary.promise();
 	}
 } );
 
@@ -3856,7 +4085,7 @@ jQuery.extend( {
 	isReady: false,
 
 	// A counter to track how many items to wait for before
-	// the ready event fires. See #6781
+	// the ready event fires. See trac-6781
 	readyWait: 1,
 
 	// Handle when the DOM is ready
@@ -3943,7 +4172,7 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
 			// ...except when executing function values
 			} else {
 				bulk = fn;
-				fn = function( elem, key, value ) {
+				fn = function( elem, _key, value ) {
 					return bulk.call( jQuery( elem ), value );
 				};
 			}
@@ -3953,8 +4182,8 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
 			for ( ; i < len; i++ ) {
 				fn(
 					elems[ i ], key, raw ?
-					value :
-					value.call( elems[ i ], i, fn( elems[ i ], key ) )
+						value :
+						value.call( elems[ i ], i, fn( elems[ i ], key ) )
 				);
 			}
 		}
@@ -3978,13 +4207,13 @@ var rmsPrefix = /^-ms-/,
 	rdashAlpha = /-([a-z])/g;
 
 // Used by camelCase as callback to replace()
-function fcamelCase( all, letter ) {
+function fcamelCase( _all, letter ) {
 	return letter.toUpperCase();
 }
 
 // Convert dashed to camelCase; used by the css and data modules
 // Support: IE <=9 - 11, Edge 12 - 15
-// Microsoft forgot to hump their vendor prefix (#9572)
+// Microsoft forgot to hump their vendor prefix (trac-9572)
 function camelCase( string ) {
 	return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
 }
@@ -4020,7 +4249,7 @@ Data.prototype = {
 			value = {};
 
 			// We can accept data for non-element nodes in modern browsers,
-			// but we should not, see #8335.
+			// but we should not, see trac-8335.
 			// Always return an empty object.
 			if ( acceptData( owner ) ) {
 
@@ -4259,7 +4488,7 @@ jQuery.fn.extend( {
 					while ( i-- ) {
 
 						// Support: IE 11 only
-						// The attrs elements can be null (#14894)
+						// The attrs elements can be null (trac-14894)
 						if ( attrs[ i ] ) {
 							name = attrs[ i ].name;
 							if ( name.indexOf( "data-" ) === 0 ) {
@@ -4467,6 +4696,26 @@ var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
 
 var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
 
+var documentElement = document.documentElement;
+
+
+
+	var isAttached = function( elem ) {
+			return jQuery.contains( elem.ownerDocument, elem );
+		},
+		composed = { composed: true };
+
+	// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only
+	// Check attachment across shadow DOM boundaries when possible (gh-3504)
+	// Support: iOS 10.0-10.2 only
+	// Early iOS 10 versions support `attachShadow` but not `getRootNode`,
+	// leading to errors. We need to check for `getRootNode`.
+	if ( documentElement.getRootNode ) {
+		isAttached = function( elem ) {
+			return jQuery.contains( elem.ownerDocument, elem ) ||
+				elem.getRootNode( composed ) === elem.ownerDocument;
+		};
+	}
 var isHiddenWithinTree = function( elem, el ) {
 
 		// isHiddenWithinTree might be called from jQuery#filter function;
@@ -4481,32 +4730,11 @@ var isHiddenWithinTree = function( elem, el ) {
 			// Support: Firefox <=43 - 45
 			// Disconnected elements can have computed display: none, so first confirm that elem is
 			// in the document.
-			jQuery.contains( elem.ownerDocument, elem ) &&
+			isAttached( elem ) &&
 
 			jQuery.css( elem, "display" ) === "none";
 	};
 
-var swap = function( elem, options, callback, args ) {
-	var ret, name,
-		old = {};
-
-	// Remember the old values, and insert the new ones
-	for ( name in options ) {
-		old[ name ] = elem.style[ name ];
-		elem.style[ name ] = options[ name ];
-	}
-
-	ret = callback.apply( elem, args || [] );
-
-	// Revert the old values
-	for ( name in options ) {
-		elem.style[ name ] = old[ name ];
-	}
-
-	return ret;
-};
-
-
 
 
 function adjustCSS( elem, prop, valueParts, tween ) {
@@ -4523,7 +4751,8 @@ function adjustCSS( elem, prop, valueParts, tween ) {
 		unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
 
 		// Starting value computation is required for potential unit mismatches
-		initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
+		initialInUnit = elem.nodeType &&
+			( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
 			rcssNum.exec( jQuery.css( elem, prop ) );
 
 	if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
@@ -4670,7 +4899,7 @@ jQuery.fn.extend( {
 } );
 var rcheckableType = ( /^(?:checkbox|radio)$/i );
 
-var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i );
+var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i );
 
 var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
 
@@ -4682,9 +4911,9 @@ var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
 		input = document.createElement( "input" );
 
 	// Support: Android 4.0 - 4.3 only
-	// Check state lost if the name is set (#11217)
+	// Check state lost if the name is set (trac-11217)
 	// Support: Windows Web Apps (WWA)
-	// `name` and `type` must use .setAttribute for WWA (#14901)
+	// `name` and `type` must use .setAttribute for WWA (trac-14901)
 	input.setAttribute( "type", "radio" );
 	input.setAttribute( "checked", "checked" );
 	input.setAttribute( "name", "t" );
@@ -4708,7 +4937,7 @@ var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
 } )();
 
 
-// We have to close these tags to support XHTML (#13200)
+// We have to close these tags to support XHTML (trac-13200)
 var wrapMap = {
 
 	// XHTML parsers do not magically insert elements in the
@@ -4734,7 +4963,7 @@ if ( !support.option ) {
 function getAll( context, tag ) {
 
 	// Support: IE <=9 - 11 only
-	// Use typeof to avoid zero-argument method invocation on host objects (#15151)
+	// Use typeof to avoid zero-argument method invocation on host objects (trac-15151)
 	var ret;
 
 	if ( typeof context.getElementsByTagName !== "undefined" ) {
@@ -4773,7 +5002,7 @@ function setGlobalEval( elems, refElements ) {
 var rhtml = /<|&#?\w+;/;
 
 function buildFragment( elems, context, scripts, selection, ignored ) {
-	var elem, tmp, tag, wrap, contains, j,
+	var elem, tmp, tag, wrap, attached, j,
 		fragment = context.createDocumentFragment(),
 		nodes = [],
 		i = 0,
@@ -4817,7 +5046,7 @@ function buildFragment( elems, context, scripts, selection, ignored ) {
 				// Remember the top-level container
 				tmp = fragment.firstChild;
 
-				// Ensure the created nodes are orphaned (#12392)
+				// Ensure the created nodes are orphaned (trac-12392)
 				tmp.textContent = "";
 			}
 		}
@@ -4837,13 +5066,13 @@ function buildFragment( elems, context, scripts, selection, ignored ) {
 			continue;
 		}
 
-		contains = jQuery.contains( elem.ownerDocument, elem );
+		attached = isAttached( elem );
 
 		// Append to fragment
 		tmp = getAll( fragment.appendChild( elem ), "script" );
 
 		// Preserve script evaluation history
-		if ( contains ) {
+		if ( attached ) {
 			setGlobalEval( tmp );
 		}
 
@@ -4860,14 +5089,9 @@ function buildFragment( elems, context, scripts, selection, ignored ) {
 
 	return fragment;
 }
-var documentElement = document.documentElement;
 
 
-
-var
-	rkeyEvent = /^key/,
-	rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
-	rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
+var rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
 
 function returnTrue() {
 	return true;
@@ -4877,8 +5101,19 @@ function returnFalse() {
 	return false;
 }
 
+// Support: IE <=9 - 11+
+// focus() and blur() are asynchronous, except when they are no-op.
+// So expect focus to be synchronous when the element is already active,
+// and blur to be synchronous when the element is not already active.
+// (focus and blur are always synchronous in other supported browsers,
+// this just defines when we can count on it).
+function expectSync( elem, type ) {
+	return ( elem === safeActiveElement() ) === ( type === "focus" );
+}
+
 // Support: IE <=9 only
-// See #13393 for more info
+// Accessing document.activeElement can throw unexpectedly
+// https://bugs.jquery.com/ticket/13393
 function safeActiveElement() {
 	try {
 		return document.activeElement;
@@ -4961,8 +5196,8 @@ jQuery.event = {
 			special, handlers, type, namespaces, origType,
 			elemData = dataPriv.get( elem );
 
-		// Don't attach events to noData or text/comment nodes (but allow plain objects)
-		if ( !elemData ) {
+		// Only attach events to objects that accept data
+		if ( !acceptData( elem ) ) {
 			return;
 		}
 
@@ -4986,7 +5221,7 @@ jQuery.event = {
 
 		// Init the element's event structure and main handler, if this is the first
 		if ( !( events = elemData.events ) ) {
-			events = elemData.events = {};
+			events = elemData.events = Object.create( null );
 		}
 		if ( !( eventHandle = elemData.handle ) ) {
 			eventHandle = elemData.handle = function( e ) {
@@ -5144,12 +5379,15 @@ jQuery.event = {
 
 	dispatch: function( nativeEvent ) {
 
-		// Make a writable jQuery.Event from the native event object
-		var event = jQuery.event.fix( nativeEvent );
-
 		var i, j, ret, matched, handleObj, handlerQueue,
 			args = new Array( arguments.length ),
-			handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
+
+			// Make a writable jQuery.Event from the native event object
+			event = jQuery.event.fix( nativeEvent ),
+
+			handlers = (
+				dataPriv.get( this, "events" ) || Object.create( null )
+			)[ event.type ] || [],
 			special = jQuery.event.special[ event.type ] || {};
 
 		// Use the fix-ed jQuery.Event rather than the (read-only) native event
@@ -5178,9 +5416,10 @@ jQuery.event = {
 			while ( ( handleObj = matched.handlers[ j++ ] ) &&
 				!event.isImmediatePropagationStopped() ) {
 
-				// Triggered event must either 1) have no namespace, or 2) have namespace(s)
-				// a subset or equal to those in the bound event (both can have no namespace).
-				if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {
+				// If the event is namespaced, then each handler is only invoked if it is
+				// specially universal or its namespaces are a superset of the event's.
+				if ( !event.rnamespace || handleObj.namespace === false ||
+					event.rnamespace.test( handleObj.namespace ) ) {
 
 					event.handleObj = handleObj;
 					event.data = handleObj.data;
@@ -5228,15 +5467,15 @@ jQuery.event = {
 
 			for ( ; cur !== this; cur = cur.parentNode || this ) {
 
-				// Don't check non-elements (#13208)
-				// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
+				// Don't check non-elements (trac-13208)
+				// Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764)
 				if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
 					matchedHandlers = [];
 					matchedSelectors = {};
 					for ( i = 0; i < delegateCount; i++ ) {
 						handleObj = handlers[ i ];
 
-						// Don't conflict with Object.prototype properties (#13203)
+						// Don't conflict with Object.prototype properties (trac-13203)
 						sel = handleObj.selector + " ";
 
 						if ( matchedSelectors[ sel ] === undefined ) {
@@ -5272,12 +5511,12 @@ jQuery.event = {
 			get: isFunction( hook ) ?
 				function() {
 					if ( this.originalEvent ) {
-							return hook( this.originalEvent );
+						return hook( this.originalEvent );
 					}
 				} :
 				function() {
 					if ( this.originalEvent ) {
-							return this.originalEvent[ name ];
+						return this.originalEvent[ name ];
 					}
 				},
 
@@ -5304,39 +5543,51 @@ jQuery.event = {
 			// Prevent triggered image.load events from bubbling to window.load
 			noBubble: true
 		},
-		focus: {
+		click: {
 
-			// Fire native event if possible so blur/focus sequence is correct
-			trigger: function() {
-				if ( this !== safeActiveElement() && this.focus ) {
-					this.focus();
-					return false;
-				}
-			},
-			delegateType: "focusin"
-		},
-		blur: {
-			trigger: function() {
-				if ( this === safeActiveElement() && this.blur ) {
-					this.blur();
-					return false;
+			// Utilize native event to ensure correct state for checkable inputs
+			setup: function( data ) {
+
+				// For mutual compressibility with _default, replace `this` access with a local var.
+				// `|| data` is dead code meant only to preserve the variable through minification.
+				var el = this || data;
+
+				// Claim the first handler
+				if ( rcheckableType.test( el.type ) &&
+					el.click && nodeName( el, "input" ) ) {
+
+					// dataPriv.set( el, "click", ... )
+					leverageNative( el, "click", returnTrue );
 				}
+
+				// Return false to allow normal processing in the caller
+				return false;
 			},
-			delegateType: "focusout"
-		},
-		click: {
+			trigger: function( data ) {
 
-			// For checkbox, fire native event so checked state will be right
-			trigger: function() {
-				if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) {
-					this.click();
-					return false;
+				// For mutual compressibility with _default, replace `this` access with a local var.
+				// `|| data` is dead code meant only to preserve the variable through minification.
+				var el = this || data;
+
+				// Force setup before triggering a click
+				if ( rcheckableType.test( el.type ) &&
+					el.click && nodeName( el, "input" ) ) {
+
+					leverageNative( el, "click" );
 				}
+
+				// Return non-false to allow normal event-path propagation
+				return true;
 			},
 
-			// For cross-browser consistency, don't fire native .click() on links
+			// For cross-browser consistency, suppress native .click() on links
+			// Also prevent it if we're currently inside a leveraged native-event stack
 			_default: function( event ) {
-				return nodeName( event.target, "a" );
+				var target = event.target;
+				return rcheckableType.test( target.type ) &&
+					target.click && nodeName( target, "input" ) &&
+					dataPriv.get( target, "click" ) ||
+					nodeName( target, "a" );
 			}
 		},
 
@@ -5353,6 +5604,99 @@ jQuery.event = {
 	}
 };
 
+// Ensure the presence of an event listener that handles manually-triggered
+// synthetic events by interrupting progress until reinvoked in response to
+// *native* events that it fires directly, ensuring that state changes have
+// already occurred before other listeners are invoked.
+function leverageNative( el, type, expectSync ) {
+
+	// Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add
+	if ( !expectSync ) {
+		if ( dataPriv.get( el, type ) === undefined ) {
+			jQuery.event.add( el, type, returnTrue );
+		}
+		return;
+	}
+
+	// Register the controller as a special universal handler for all event namespaces
+	dataPriv.set( el, type, false );
+	jQuery.event.add( el, type, {
+		namespace: false,
+		handler: function( event ) {
+			var notAsync, result,
+				saved = dataPriv.get( this, type );
+
+			if ( ( event.isTrigger & 1 ) && this[ type ] ) {
+
+				// Interrupt processing of the outer synthetic .trigger()ed event
+				// Saved data should be false in such cases, but might be a leftover capture object
+				// from an async native handler (gh-4350)
+				if ( !saved.length ) {
+
+					// Store arguments for use when handling the inner native event
+					// There will always be at least one argument (an event object), so this array
+					// will not be confused with a leftover capture object.
+					saved = slice.call( arguments );
+					dataPriv.set( this, type, saved );
+
+					// Trigger the native event and capture its result
+					// Support: IE <=9 - 11+
+					// focus() and blur() are asynchronous
+					notAsync = expectSync( this, type );
+					this[ type ]();
+					result = dataPriv.get( this, type );
+					if ( saved !== result || notAsync ) {
+						dataPriv.set( this, type, false );
+					} else {
+						result = {};
+					}
+					if ( saved !== result ) {
+
+						// Cancel the outer synthetic event
+						event.stopImmediatePropagation();
+						event.preventDefault();
+
+						// Support: Chrome 86+
+						// In Chrome, if an element having a focusout handler is blurred by
+						// clicking outside of it, it invokes the handler synchronously. If
+						// that handler calls `.remove()` on the element, the data is cleared,
+						// leaving `result` undefined. We need to guard against this.
+						return result && result.value;
+					}
+
+				// If this is an inner synthetic event for an event with a bubbling surrogate
+				// (focus or blur), assume that the surrogate already propagated from triggering the
+				// native event and prevent that from happening again here.
+				// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the
+				// bubbling surrogate propagates *after* the non-bubbling base), but that seems
+				// less bad than duplication.
+				} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {
+					event.stopPropagation();
+				}
+
+			// If this is a native event triggered above, everything is now in order
+			// Fire an inner synthetic event with the original arguments
+			} else if ( saved.length ) {
+
+				// ...and capture the result
+				dataPriv.set( this, type, {
+					value: jQuery.event.trigger(
+
+						// Support: IE <=9 - 11+
+						// Extend with the prototype to reset the above stopImmediatePropagation()
+						jQuery.extend( saved[ 0 ], jQuery.Event.prototype ),
+						saved.slice( 1 ),
+						this
+					)
+				} );
+
+				// Abort handling of the native event
+				event.stopImmediatePropagation();
+			}
+		}
+	} );
+}
+
 jQuery.removeEvent = function( elem, type, handle ) {
 
 	// This "if" is needed for plain objects
@@ -5385,7 +5729,7 @@ jQuery.Event = function( src, props ) {
 
 		// Create target properties
 		// Support: Safari <=6 - 7 only
-		// Target should not be a text node (#504, #13143)
+		// Target should not be a text node (trac-504, trac-13143)
 		this.target = ( src.target && src.target.nodeType === 3 ) ?
 			src.target.parentNode :
 			src.target;
@@ -5465,6 +5809,7 @@ jQuery.each( {
 	shiftKey: true,
 	view: true,
 	"char": true,
+	code: true,
 	charCode: true,
 	key: true,
 	keyCode: true,
@@ -5481,35 +5826,41 @@ jQuery.each( {
 	targetTouches: true,
 	toElement: true,
 	touches: true,
+	which: true
+}, jQuery.event.addProp );
 
-	which: function( event ) {
-		var button = event.button;
+jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {
+	jQuery.event.special[ type ] = {
 
-		// Add which for key events
-		if ( event.which == null && rkeyEvent.test( event.type ) ) {
-			return event.charCode != null ? event.charCode : event.keyCode;
-		}
+		// Utilize native event if possible so blur/focus sequence is correct
+		setup: function() {
 
-		// Add which for click: 1 === left; 2 === middle; 3 === right
-		if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {
-			if ( button & 1 ) {
-				return 1;
-			}
+			// Claim the first handler
+			// dataPriv.set( this, "focus", ... )
+			// dataPriv.set( this, "blur", ... )
+			leverageNative( this, type, expectSync );
 
-			if ( button & 2 ) {
-				return 3;
-			}
+			// Return false to allow normal processing in the caller
+			return false;
+		},
+		trigger: function() {
 
-			if ( button & 4 ) {
-				return 2;
-			}
+			// Force setup before trigger
+			leverageNative( this, type );
 
-			return 0;
-		}
+			// Return non-false to allow normal event-path propagation
+			return true;
+		},
 
-		return event.which;
-	}
-}, jQuery.event.addProp );
+		// Suppress native focus or blur if we're currently inside
+		// a leveraged native-event stack
+		_default: function( event ) {
+			return dataPriv.get( event.target, type );
+		},
+
+		delegateType: delegateType
+	};
+} );
 
 // Create mouseenter/leave events using mouseover/out and event-time checks
 // so that event delegation works in jQuery.
@@ -5603,7 +5954,8 @@ var
 
 	// checked="checked" or checked
 	rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
-	rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
+
+	rcleanScript = /^\s*<!\[CDATA\[|\]\]>\s*$/g;
 
 // Prefer a tbody over its parent table for containing new rows
 function manipulationTarget( elem, content ) {
@@ -5632,7 +5984,7 @@ function restoreScript( elem ) {
 }
 
 function cloneCopyEvent( src, dest ) {
-	var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
+	var i, l, type, pdataOld, udataOld, udataCur, events;
 
 	if ( dest.nodeType !== 1 ) {
 		return;
@@ -5640,13 +5992,11 @@ function cloneCopyEvent( src, dest ) {
 
 	// 1. Copy private data: events, handlers, etc.
 	if ( dataPriv.hasData( src ) ) {
-		pdataOld = dataPriv.access( src );
-		pdataCur = dataPriv.set( dest, pdataOld );
+		pdataOld = dataPriv.get( src );
 		events = pdataOld.events;
 
 		if ( events ) {
-			delete pdataCur.handle;
-			pdataCur.events = {};
+			dataPriv.remove( dest, "handle events" );
 
 			for ( type in events ) {
 				for ( i = 0, l = events[ type ].length; i < l; i++ ) {
@@ -5682,7 +6032,7 @@ function fixInput( src, dest ) {
 function domManip( collection, args, callback, ignored ) {
 
 	// Flatten any nested arrays
-	args = concat.apply( [], args );
+	args = flat( args );
 
 	var fragment, first, scripts, hasScripts, node, doc,
 		i = 0,
@@ -5719,7 +6069,7 @@ function domManip( collection, args, callback, ignored ) {
 
 			// Use the original fragment for the last item
 			// instead of the first because it can end up
-			// being emptied incorrectly in certain situations (#8070).
+			// being emptied incorrectly in certain situations (trac-8070).
 			for ( ; i < l; i++ ) {
 				node = fragment;
 
@@ -5754,11 +6104,19 @@ function domManip( collection, args, callback, ignored ) {
 						if ( node.src && ( node.type || "" ).toLowerCase()  !== "module" ) {
 
 							// Optional AJAX dependency, but won't run scripts if not present
-							if ( jQuery._evalUrl ) {
-								jQuery._evalUrl( node.src );
+							if ( jQuery._evalUrl && !node.noModule ) {
+								jQuery._evalUrl( node.src, {
+									nonce: node.nonce || node.getAttribute( "nonce" )
+								}, doc );
 							}
 						} else {
-							DOMEval( node.textContent.replace( rcleanScript, "" ), doc, node );
+
+							// Unwrap a CDATA section containing script contents. This shouldn't be
+							// needed as in XML documents they're already not visible when
+							// inspecting element contents and in HTML documents they have no
+							// meaning but we're preserving that logic for backwards compatibility.
+							// This will be removed completely in 4.0. See gh-4904.
+							DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
 						}
 					}
 				}
@@ -5780,7 +6138,7 @@ function remove( elem, selector, keepData ) {
 		}
 
 		if ( node.parentNode ) {
-			if ( keepData && jQuery.contains( node.ownerDocument, node ) ) {
+			if ( keepData && isAttached( node ) ) {
 				setGlobalEval( getAll( node, "script" ) );
 			}
 			node.parentNode.removeChild( node );
@@ -5798,7 +6156,7 @@ jQuery.extend( {
 	clone: function( elem, dataAndEvents, deepDataAndEvents ) {
 		var i, l, srcElements, destElements,
 			clone = elem.cloneNode( true ),
-			inPage = jQuery.contains( elem.ownerDocument, elem );
+			inPage = isAttached( elem );
 
 		// Fix IE cloning issues
 		if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
@@ -6040,9 +6398,12 @@ jQuery.each( {
 } );
 var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
 
+var rcustomProp = /^--/;
+
+
 var getStyles = function( elem ) {
 
-		// Support: IE <=11 only, Firefox <=30 (#15098, #14150)
+		// Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150)
 		// IE throws on elements created in popups
 		// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
 		var view = elem.ownerDocument.defaultView;
@@ -6054,8 +6415,38 @@ var getStyles = function( elem ) {
 		return view.getComputedStyle( elem );
 	};
 
+var swap = function( elem, options, callback ) {
+	var ret, name,
+		old = {};
+
+	// Remember the old values, and insert the new ones
+	for ( name in options ) {
+		old[ name ] = elem.style[ name ];
+		elem.style[ name ] = options[ name ];
+	}
+
+	ret = callback.call( elem );
+
+	// Revert the old values
+	for ( name in options ) {
+		elem.style[ name ] = old[ name ];
+	}
+
+	return ret;
+};
+
+
 var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
 
+var whitespace = "[\\x20\\t\\r\\n\\f]";
+
+
+var rtrimCSS = new RegExp(
+	"^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$",
+	"g"
+);
+
+
 
 
 ( function() {
@@ -6094,8 +6485,10 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
 
 		// Support: IE 9 only
 		// Detect overflow:scroll screwiness (gh-3699)
+		// Support: Chrome <=64
+		// Don't get tricked when zoom affects offsetWidth (gh-4029)
 		div.style.position = "absolute";
-		scrollboxSizeVal = div.offsetWidth === 36 || "absolute";
+		scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;
 
 		documentElement.removeChild( container );
 
@@ -6109,7 +6502,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
 	}
 
 	var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
-		reliableMarginLeftVal,
+		reliableTrDimensionsVal, reliableMarginLeftVal,
 		container = document.createElement( "div" ),
 		div = document.createElement( "div" );
 
@@ -6119,7 +6512,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
 	}
 
 	// Support: IE <=9 - 11 only
-	// Style of cloned element affects source element cloned (#8908)
+	// Style of cloned element affects source element cloned (trac-8908)
 	div.style.backgroundClip = "content-box";
 	div.cloneNode( true ).style.backgroundClip = "";
 	support.clearCloneStyle = div.style.backgroundClip === "content-box";
@@ -6144,6 +6537,54 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
 		scrollboxSize: function() {
 			computeStyleTests();
 			return scrollboxSizeVal;
+		},
+
+		// Support: IE 9 - 11+, Edge 15 - 18+
+		// IE/Edge misreport `getComputedStyle` of table rows with width/height
+		// set in CSS while `offset*` properties report correct values.
+		// Behavior in IE 9 is more subtle than in newer versions & it passes
+		// some versions of this test; make sure not to make it pass there!
+		//
+		// Support: Firefox 70+
+		// Only Firefox includes border widths
+		// in computed dimensions. (gh-4529)
+		reliableTrDimensions: function() {
+			var table, tr, trChild, trStyle;
+			if ( reliableTrDimensionsVal == null ) {
+				table = document.createElement( "table" );
+				tr = document.createElement( "tr" );
+				trChild = document.createElement( "div" );
+
+				table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate";
+				tr.style.cssText = "border:1px solid";
+
+				// Support: Chrome 86+
+				// Height set through cssText does not get applied.
+				// Computed height then comes back as 0.
+				tr.style.height = "1px";
+				trChild.style.height = "9px";
+
+				// Support: Android 8 Chrome 86+
+				// In our bodyBackground.html iframe,
+				// display for all div elements is set to "inline",
+				// which causes a problem only in Android 8 Chrome 86.
+				// Ensuring the div is display: block
+				// gets around this issue.
+				trChild.style.display = "block";
+
+				documentElement
+					.appendChild( table )
+					.appendChild( tr )
+					.appendChild( trChild );
+
+				trStyle = window.getComputedStyle( tr );
+				reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) +
+					parseInt( trStyle.borderTopWidth, 10 ) +
+					parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight;
+
+				documentElement.removeChild( table );
+			}
+			return reliableTrDimensionsVal;
 		}
 	} );
 } )();
@@ -6151,6 +6592,7 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
 
 function curCSS( elem, name, computed ) {
 	var width, minWidth, maxWidth, ret,
+		isCustomProp = rcustomProp.test( name ),
 
 		// Support: Firefox 51+
 		// Retrieving style before computed somehow
@@ -6161,12 +6603,23 @@ function curCSS( elem, name, computed ) {
 	computed = computed || getStyles( elem );
 
 	// getPropertyValue is needed for:
-	//   .css('filter') (IE 9 only, #12537)
-	//   .css('--customProperty) (#3144)
+	//   .css('filter') (IE 9 only, trac-12537)
+	//   .css('--customProperty) (gh-3144)
 	if ( computed ) {
 		ret = computed.getPropertyValue( name ) || computed[ name ];
 
-		if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
+		// trim whitespace for custom property (issue gh-4926)
+		if ( isCustomProp ) {
+
+			// rtrim treats U+000D CARRIAGE RETURN and U+000C FORM FEED
+			// as whitespace while CSS does not, but this is not a problem
+			// because CSS preprocessing replaces them with U+000A LINE FEED
+			// (which *is* CSS whitespace)
+			// https://www.w3.org/TR/css-syntax-3/#input-preprocessing
+			ret = ret.replace( rtrimCSS, "$1" );
+		}
+
+		if ( ret === "" && !isAttached( elem ) ) {
 			ret = jQuery.style( elem, name );
 		}
 
@@ -6222,30 +6675,13 @@ function addGetHookIf( conditionFn, hookFn ) {
 }
 
 
-var
+var cssPrefixes = [ "Webkit", "Moz", "ms" ],
+	emptyStyle = document.createElement( "div" ).style,
+	vendorProps = {};
 
-	// Swappable if display is none or starts with table
-	// except "table", "table-cell", or "table-caption"
-	// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
-	rdisplayswap = /^(none|table(?!-c[ea]).+)/,
-	rcustomProp = /^--/,
-	cssShow = { position: "absolute", visibility: "hidden", display: "block" },
-	cssNormalTransform = {
-		letterSpacing: "0",
-		fontWeight: "400"
-	},
-
-	cssPrefixes = [ "Webkit", "Moz", "ms" ],
-	emptyStyle = document.createElement( "div" ).style;
-
-// Return a css property mapped to a potentially vendor prefixed property
+// Return a vendor-prefixed property or undefined
 function vendorPropName( name ) {
 
-	// Shortcut for names that are not vendor prefixed
-	if ( name in emptyStyle ) {
-		return name;
-	}
-
 	// Check for vendor prefixed names
 	var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
 		i = cssPrefixes.length;
@@ -6258,17 +6694,33 @@ function vendorPropName( name ) {
 	}
 }
 
-// Return a property mapped along what jQuery.cssProps suggests or to
-// a vendor prefixed property.
+// Return a potentially-mapped jQuery.cssProps or vendor prefixed property
 function finalPropName( name ) {
-	var ret = jQuery.cssProps[ name ];
-	if ( !ret ) {
-		ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name;
+	var final = jQuery.cssProps[ name ] || vendorProps[ name ];
+
+	if ( final ) {
+		return final;
 	}
-	return ret;
+	if ( name in emptyStyle ) {
+		return name;
+	}
+	return vendorProps[ name ] = vendorPropName( name ) || name;
 }
 
-function setPositiveNumber( elem, value, subtract ) {
+
+var
+
+	// Swappable if display is none or starts with table
+	// except "table", "table-cell", or "table-caption"
+	// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
+	rdisplayswap = /^(none|table(?!-c[ea]).+)/,
+	cssShow = { position: "absolute", visibility: "hidden", display: "block" },
+	cssNormalTransform = {
+		letterSpacing: "0",
+		fontWeight: "400"
+	};
+
+function setPositiveNumber( _elem, value, subtract ) {
 
 	// Any relative (+/-) values have already been
 	// normalized at this point
@@ -6339,7 +6791,10 @@ function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computed
 			delta -
 			extra -
 			0.5
-		) );
+
+		// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter
+		// Use an explicit zero to avoid NaN (gh-3964)
+		) ) || 0;
 	}
 
 	return delta;
@@ -6349,9 +6804,16 @@ function getWidthOrHeight( elem, dimension, extra ) {
 
 	// Start with computed style
 	var styles = getStyles( elem ),
+
+		// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).
+		// Fake content-box until we know it's needed to know the true value.
+		boxSizingNeeded = !support.boxSizingReliable() || extra,
+		isBorderBox = boxSizingNeeded &&
+			jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+		valueIsBorderBox = isBorderBox,
+
 		val = curCSS( elem, dimension, styles ),
-		isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
-		valueIsBorderBox = isBorderBox;
+		offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );
 
 	// Support: Firefox <=54
 	// Return a confounding non-pixel value or feign ignorance, as appropriate.
@@ -6362,22 +6824,38 @@ function getWidthOrHeight( elem, dimension, extra ) {
 		val = "auto";
 	}
 
-	// Check for style in case a browser which returns unreliable values
-	// for getComputedStyle silently falls back to the reliable elem.style
-	valueIsBorderBox = valueIsBorderBox &&
-		( support.boxSizingReliable() || val === elem.style[ dimension ] );
 
-	// Fall back to offsetWidth/offsetHeight when value is "auto"
-	// This happens for inline elements with no explicit setting (gh-3571)
-	// Support: Android <=4.1 - 4.3 only
-	// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
-	if ( val === "auto" ||
-		!parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) {
+	// Support: IE 9 - 11 only
+	// Use offsetWidth/offsetHeight for when box sizing is unreliable.
+	// In those cases, the computed value can be trusted to be border-box.
+	if ( ( !support.boxSizingReliable() && isBorderBox ||
+
+		// Support: IE 10 - 11+, Edge 15 - 18+
+		// IE/Edge misreport `getComputedStyle` of table rows with width/height
+		// set in CSS while `offset*` properties report correct values.
+		// Interestingly, in some cases IE 9 doesn't suffer from this issue.
+		!support.reliableTrDimensions() && nodeName( elem, "tr" ) ||
+
+		// Fall back to offsetWidth/offsetHeight when value is "auto"
+		// This happens for inline elements with no explicit setting (gh-3571)
+		val === "auto" ||
 
-		val = elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ];
+		// Support: Android <=4.1 - 4.3 only
+		// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
+		!parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) &&
 
-		// offsetWidth/offsetHeight provide border-box values
-		valueIsBorderBox = true;
+		// Make sure the element is visible & connected
+		elem.getClientRects().length ) {
+
+		isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
+
+		// Where available, offsetWidth/offsetHeight approximate border box dimensions.
+		// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the
+		// retrieved value as a content box dimension.
+		valueIsBorderBox = offsetProp in elem;
+		if ( valueIsBorderBox ) {
+			val = elem[ offsetProp ];
+		}
 	}
 
 	// Normalize "" and auto
@@ -6423,6 +6901,13 @@ jQuery.extend( {
 		"flexGrow": true,
 		"flexShrink": true,
 		"fontWeight": true,
+		"gridArea": true,
+		"gridColumn": true,
+		"gridColumnEnd": true,
+		"gridColumnStart": true,
+		"gridRow": true,
+		"gridRowEnd": true,
+		"gridRowStart": true,
 		"lineHeight": true,
 		"opacity": true,
 		"order": true,
@@ -6464,21 +6949,23 @@ jQuery.extend( {
 		if ( value !== undefined ) {
 			type = typeof value;
 
-			// Convert "+=" or "-=" to relative numbers (#7345)
+			// Convert "+=" or "-=" to relative numbers (trac-7345)
 			if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
 				value = adjustCSS( elem, name, ret );
 
-				// Fixes bug #9237
+				// Fixes bug trac-9237
 				type = "number";
 			}
 
-			// Make sure that null and NaN values aren't set (#7116)
+			// Make sure that null and NaN values aren't set (trac-7116)
 			if ( value == null || value !== value ) {
 				return;
 			}
 
 			// If a number was passed in, add the unit (except for certain CSS properties)
-			if ( type === "number" ) {
+			// The isCustomProp check can be removed in jQuery 4.0 when we only auto-append
+			// "px" to a few hardcoded values.
+			if ( type === "number" && !isCustomProp ) {
 				value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
 			}
 
@@ -6552,7 +7039,7 @@ jQuery.extend( {
 	}
 } );
 
-jQuery.each( [ "height", "width" ], function( i, dimension ) {
+jQuery.each( [ "height", "width" ], function( _i, dimension ) {
 	jQuery.cssHooks[ dimension ] = {
 		get: function( elem, computed, extra ) {
 			if ( computed ) {
@@ -6568,28 +7055,39 @@ jQuery.each( [ "height", "width" ], function( i, dimension ) {
 					// Running getBoundingClientRect on a disconnected node
 					// in IE throws an error.
 					( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
-						swap( elem, cssShow, function() {
-							return getWidthOrHeight( elem, dimension, extra );
-						} ) :
-						getWidthOrHeight( elem, dimension, extra );
+					swap( elem, cssShow, function() {
+						return getWidthOrHeight( elem, dimension, extra );
+					} ) :
+					getWidthOrHeight( elem, dimension, extra );
 			}
 		},
 
 		set: function( elem, value, extra ) {
 			var matches,
 				styles = getStyles( elem ),
-				isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
-				subtract = extra && boxModelAdjustment(
-					elem,
-					dimension,
-					extra,
-					isBorderBox,
-					styles
-				);
+
+				// Only read styles.position if the test has a chance to fail
+				// to avoid forcing a reflow.
+				scrollboxSizeBuggy = !support.scrollboxSize() &&
+					styles.position === "absolute",
+
+				// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)
+				boxSizingNeeded = scrollboxSizeBuggy || extra,
+				isBorderBox = boxSizingNeeded &&
+					jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+				subtract = extra ?
+					boxModelAdjustment(
+						elem,
+						dimension,
+						extra,
+						isBorderBox,
+						styles
+					) :
+					0;
 
 			// Account for unreliable border-box dimensions by comparing offset* to computed and
 			// faking a content-box to get border and padding (gh-3699)
-			if ( isBorderBox && support.scrollboxSize() === styles.position ) {
+			if ( isBorderBox && scrollboxSizeBuggy ) {
 				subtract -= Math.ceil(
 					elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
 					parseFloat( styles[ dimension ] ) -
@@ -6619,7 +7117,7 @@ jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
 					swap( elem, { marginLeft: 0 }, function() {
 						return elem.getBoundingClientRect().left;
 					} )
-				) + "px";
+			) + "px";
 		}
 	}
 );
@@ -6757,9 +7255,9 @@ Tween.propHooks = {
 			// Use .style if available and use plain properties where available.
 			if ( jQuery.fx.step[ tween.prop ] ) {
 				jQuery.fx.step[ tween.prop ]( tween );
-			} else if ( tween.elem.nodeType === 1 &&
-				( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null ||
-					jQuery.cssHooks[ tween.prop ] ) ) {
+			} else if ( tween.elem.nodeType === 1 && (
+				jQuery.cssHooks[ tween.prop ] ||
+					tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {
 				jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
 			} else {
 				tween.elem[ tween.prop ] = tween.now;
@@ -7003,7 +7501,7 @@ function defaultPrefilter( elem, props, opts ) {
 
 			anim.done( function() {
 
-			/* eslint-enable no-loop-func */
+				/* eslint-enable no-loop-func */
 
 				// The final step of a "hide" animation is actually hiding the element
 				if ( !hidden ) {
@@ -7083,7 +7581,7 @@ function Animation( elem, properties, options ) {
 				remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
 
 				// Support: Android 2.3 only
-				// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
+				// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497)
 				temp = remaining / animation.duration || 0,
 				percent = 1 - temp,
 				index = 0,
@@ -7123,7 +7621,7 @@ function Animation( elem, properties, options ) {
 			tweens: [],
 			createTween: function( prop, end ) {
 				var tween = jQuery.Tween( elem, animation.opts, prop, end,
-						animation.opts.specialEasing[ prop ] || animation.opts.easing );
+					animation.opts.specialEasing[ prop ] || animation.opts.easing );
 				animation.tweens.push( tween );
 				return tween;
 			},
@@ -7296,7 +7794,8 @@ jQuery.fn.extend( {
 					anim.stop( true );
 				}
 			};
-			doAnimation.finish = doAnimation;
+
+		doAnimation.finish = doAnimation;
 
 		return empty || optall.queue === false ?
 			this.each( doAnimation ) :
@@ -7314,7 +7813,7 @@ jQuery.fn.extend( {
 			clearQueue = type;
 			type = undefined;
 		}
-		if ( clearQueue && type !== false ) {
+		if ( clearQueue ) {
 			this.queue( type || "fx", [] );
 		}
 
@@ -7397,7 +7896,7 @@ jQuery.fn.extend( {
 	}
 } );
 
-jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) {
+jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) {
 	var cssFn = jQuery.fn[ name ];
 	jQuery.fn[ name ] = function( speed, easing, callback ) {
 		return speed == null || typeof speed === "boolean" ?
@@ -7472,7 +7971,6 @@ jQuery.fx.speeds = {
 
 
 // Based off of the plugin by Clint Helfers, with permission.
-// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
 jQuery.fn.delay = function( time, type ) {
 	time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
 	type = type || "fx";
@@ -7618,7 +8116,7 @@ boolHook = {
 	}
 };
 
-jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
+jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) {
 	var getter = attrHandle[ name ] || jQuery.find.attr;
 
 	attrHandle[ name ] = function( elem, name, isXML ) {
@@ -7697,8 +8195,7 @@ jQuery.extend( {
 				// Support: IE <=9 - 11 only
 				// elem.tabIndex doesn't always return the
 				// correct value when it hasn't been explicitly set
-				// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
-				// Use proper attribute retrieval(#12072)
+				// Use proper attribute retrieval (trac-12072)
 				var tabindex = jQuery.find.attr( elem, "tabindex" );
 
 				if ( tabindex ) {
@@ -7802,8 +8299,7 @@ function classesToArray( value ) {
 
 jQuery.fn.extend( {
 	addClass: function( value ) {
-		var classes, elem, cur, curValue, clazz, j, finalValue,
-			i = 0;
+		var classNames, cur, curValue, className, i, finalValue;
 
 		if ( isFunction( value ) ) {
 			return this.each( function( j ) {
@@ -7811,36 +8307,35 @@ jQuery.fn.extend( {
 			} );
 		}
 
-		classes = classesToArray( value );
+		classNames = classesToArray( value );
 
-		if ( classes.length ) {
-			while ( ( elem = this[ i++ ] ) ) {
-				curValue = getClass( elem );
-				cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+		if ( classNames.length ) {
+			return this.each( function() {
+				curValue = getClass( this );
+				cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
 
 				if ( cur ) {
-					j = 0;
-					while ( ( clazz = classes[ j++ ] ) ) {
-						if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
-							cur += clazz + " ";
+					for ( i = 0; i < classNames.length; i++ ) {
+						className = classNames[ i ];
+						if ( cur.indexOf( " " + className + " " ) < 0 ) {
+							cur += className + " ";
 						}
 					}
 
 					// Only assign if different to avoid unneeded rendering.
 					finalValue = stripAndCollapse( cur );
 					if ( curValue !== finalValue ) {
-						elem.setAttribute( "class", finalValue );
+						this.setAttribute( "class", finalValue );
 					}
 				}
-			}
+			} );
 		}
 
 		return this;
 	},
 
 	removeClass: function( value ) {
-		var classes, elem, cur, curValue, clazz, j, finalValue,
-			i = 0;
+		var classNames, cur, curValue, className, i, finalValue;
 
 		if ( isFunction( value ) ) {
 			return this.each( function( j ) {
@@ -7852,45 +8347,42 @@ jQuery.fn.extend( {
 			return this.attr( "class", "" );
 		}
 
-		classes = classesToArray( value );
+		classNames = classesToArray( value );
 
-		if ( classes.length ) {
-			while ( ( elem = this[ i++ ] ) ) {
-				curValue = getClass( elem );
+		if ( classNames.length ) {
+			return this.each( function() {
+				curValue = getClass( this );
 
 				// This expression is here for better compressibility (see addClass)
-				cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+				cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
 
 				if ( cur ) {
-					j = 0;
-					while ( ( clazz = classes[ j++ ] ) ) {
+					for ( i = 0; i < classNames.length; i++ ) {
+						className = classNames[ i ];
 
 						// Remove *all* instances
-						while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
-							cur = cur.replace( " " + clazz + " ", " " );
+						while ( cur.indexOf( " " + className + " " ) > -1 ) {
+							cur = cur.replace( " " + className + " ", " " );
 						}
 					}
 
 					// Only assign if different to avoid unneeded rendering.
 					finalValue = stripAndCollapse( cur );
 					if ( curValue !== finalValue ) {
-						elem.setAttribute( "class", finalValue );
+						this.setAttribute( "class", finalValue );
 					}
 				}
-			}
+			} );
 		}
 
 		return this;
 	},
 
 	toggleClass: function( value, stateVal ) {
-		var type = typeof value,
+		var classNames, className, i, self,
+			type = typeof value,
 			isValidValue = type === "string" || Array.isArray( value );
 
-		if ( typeof stateVal === "boolean" && isValidValue ) {
-			return stateVal ? this.addClass( value ) : this.removeClass( value );
-		}
-
 		if ( isFunction( value ) ) {
 			return this.each( function( i ) {
 				jQuery( this ).toggleClass(
@@ -7900,17 +8392,20 @@ jQuery.fn.extend( {
 			} );
 		}
 
-		return this.each( function() {
-			var className, i, self, classNames;
+		if ( typeof stateVal === "boolean" && isValidValue ) {
+			return stateVal ? this.addClass( value ) : this.removeClass( value );
+		}
+
+		classNames = classesToArray( value );
 
+		return this.each( function() {
 			if ( isValidValue ) {
 
 				// Toggle individual class names
-				i = 0;
 				self = jQuery( this );
-				classNames = classesToArray( value );
 
-				while ( ( className = classNames[ i++ ] ) ) {
+				for ( i = 0; i < classNames.length; i++ ) {
+					className = classNames[ i ];
 
 					// Check each className given, space separated list
 					if ( self.hasClass( className ) ) {
@@ -7936,8 +8431,8 @@ jQuery.fn.extend( {
 				if ( this.setAttribute ) {
 					this.setAttribute( "class",
 						className || value === false ?
-						"" :
-						dataPriv.get( this, "__className__" ) || ""
+							"" :
+							dataPriv.get( this, "__className__" ) || ""
 					);
 				}
 			}
@@ -7952,7 +8447,7 @@ jQuery.fn.extend( {
 		while ( ( elem = this[ i++ ] ) ) {
 			if ( elem.nodeType === 1 &&
 				( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) {
-					return true;
+				return true;
 			}
 		}
 
@@ -8044,7 +8539,7 @@ jQuery.extend( {
 					val :
 
 					// Support: IE <=10 - 11 only
-					// option.text throws exceptions (#14686, #14858)
+					// option.text throws exceptions (trac-14686, trac-14858)
 					// Strip and collapse whitespace
 					// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
 					stripAndCollapse( jQuery.text( elem ) );
@@ -8071,7 +8566,7 @@ jQuery.extend( {
 					option = options[ i ];
 
 					// Support: IE <=9 only
-					// IE8-9 doesn't update selected after form reset (#2551)
+					// IE8-9 doesn't update selected after form reset (trac-2551)
 					if ( ( option.selected || i === index ) &&
 
 							// Don't return options that are disabled or in a disabled optgroup
@@ -8214,8 +8709,8 @@ jQuery.extend( jQuery.event, {
 			return;
 		}
 
-		// Determine event propagation path in advance, per W3C events spec (#9951)
-		// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
+		// Determine event propagation path in advance, per W3C events spec (trac-9951)
+		// Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724)
 		if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {
 
 			bubbleType = special.delegateType || type;
@@ -8242,7 +8737,7 @@ jQuery.extend( jQuery.event, {
 				special.bindType || type;
 
 			// jQuery handler
-			handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&
+			handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] &&
 				dataPriv.get( cur, "handle" );
 			if ( handle ) {
 				handle.apply( cur, data );
@@ -8267,7 +8762,7 @@ jQuery.extend( jQuery.event, {
 				acceptData( elem ) ) {
 
 				// Call a native DOM method on the target with the same name as the event.
-				// Don't do default actions on window, that's where global variables be (#6170)
+				// Don't do default actions on window, that's where global variables be (trac-6170)
 				if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {
 
 					// Don't re-trigger an onFOO event when we call its FOO() method
@@ -8353,7 +8848,10 @@ if ( !support.focusin ) {
 
 		jQuery.event.special[ fix ] = {
 			setup: function() {
-				var doc = this.ownerDocument || this,
+
+				// Handle: regular nodes (via `this.ownerDocument`), window
+				// (via `this.document`) & document (via `this`).
+				var doc = this.ownerDocument || this.document || this,
 					attaches = dataPriv.access( doc, fix );
 
 				if ( !attaches ) {
@@ -8362,7 +8860,7 @@ if ( !support.focusin ) {
 				dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
 			},
 			teardown: function() {
-				var doc = this.ownerDocument || this,
+				var doc = this.ownerDocument || this.document || this,
 					attaches = dataPriv.access( doc, fix ) - 1;
 
 				if ( !attaches ) {
@@ -8378,7 +8876,7 @@ if ( !support.focusin ) {
 }
 var location = window.location;
 
-var nonce = Date.now();
+var nonce = { guid: Date.now() };
 
 var rquery = ( /\?/ );
 
@@ -8386,7 +8884,7 @@ var rquery = ( /\?/ );
 
 // Cross-browser xml parsing
 jQuery.parseXML = function( data ) {
-	var xml;
+	var xml, parserErrorElem;
 	if ( !data || typeof data !== "string" ) {
 		return null;
 	}
@@ -8395,12 +8893,17 @@ jQuery.parseXML = function( data ) {
 	// IE throws on parseFromString with invalid input.
 	try {
 		xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
-	} catch ( e ) {
-		xml = undefined;
-	}
+	} catch ( e ) {}
 
-	if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
-		jQuery.error( "Invalid XML: " + data );
+	parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ];
+	if ( !xml || parserErrorElem ) {
+		jQuery.error( "Invalid XML: " + (
+			parserErrorElem ?
+				jQuery.map( parserErrorElem.childNodes, function( el ) {
+					return el.textContent;
+				} ).join( "\n" ) :
+				data
+		) );
 	}
 	return xml;
 };
@@ -8466,6 +8969,10 @@ jQuery.param = function( a, traditional ) {
 				encodeURIComponent( value == null ? "" : value );
 		};
 
+	if ( a == null ) {
+		return "";
+	}
+
 	// If an array was passed in, assume that it is an array of form elements.
 	if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
 
@@ -8497,16 +9004,14 @@ jQuery.fn.extend( {
 			// Can add propHook for "elements" to filter or add form elements
 			var elements = jQuery.prop( this, "elements" );
 			return elements ? jQuery.makeArray( elements ) : this;
-		} )
-		.filter( function() {
+		} ).filter( function() {
 			var type = this.type;
 
 			// Use .is( ":disabled" ) so that fieldset[disabled] works
 			return this.name && !jQuery( this ).is( ":disabled" ) &&
 				rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
 				( this.checked || !rcheckableType.test( type ) );
-		} )
-		.map( function( i, elem ) {
+		} ).map( function( _i, elem ) {
 			var val = jQuery( this ).val();
 
 			if ( val == null ) {
@@ -8531,7 +9036,7 @@ var
 	rantiCache = /([?&])_=[^&]*/,
 	rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
 
-	// #7653, #8125, #8152: local protocol detection
+	// trac-7653, trac-8125, trac-8152: local protocol detection
 	rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
 	rnoContent = /^(?:GET|HEAD)$/,
 	rprotocol = /^\/\//,
@@ -8554,12 +9059,13 @@ var
 	 */
 	transports = {},
 
-	// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
+	// Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression
 	allTypes = "*/".concat( "*" ),
 
 	// Anchor tag for parsing the document origin
 	originAnchor = document.createElement( "a" );
-	originAnchor.href = location.href;
+
+originAnchor.href = location.href;
 
 // Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
 function addToPrefiltersOrTransports( structure ) {
@@ -8624,7 +9130,7 @@ function inspectPrefiltersOrTransports( structure, options, originalOptions, jqX
 
 // A special extend for ajax options
 // that takes "flat" options (not to be deep extended)
-// Fixes #9887
+// Fixes trac-9887
 function ajaxExtend( target, src ) {
 	var key, deep,
 		flatOptions = jQuery.ajaxSettings.flatOptions || {};
@@ -8940,8 +9446,8 @@ jQuery.extend( {
 			// Context for global events is callbackContext if it is a DOM node or jQuery collection
 			globalEventContext = s.context &&
 				( callbackContext.nodeType || callbackContext.jquery ) ?
-					jQuery( callbackContext ) :
-					jQuery.event,
+				jQuery( callbackContext ) :
+				jQuery.event,
 
 			// Deferreds
 			deferred = jQuery.Deferred(),
@@ -8968,12 +9474,14 @@ jQuery.extend( {
 						if ( !responseHeaders ) {
 							responseHeaders = {};
 							while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
-								responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];
+								responseHeaders[ match[ 1 ].toLowerCase() + " " ] =
+									( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] )
+										.concat( match[ 2 ] );
 							}
 						}
-						match = responseHeaders[ key.toLowerCase() ];
+						match = responseHeaders[ key.toLowerCase() + " " ];
 					}
-					return match == null ? null : match;
+					return match == null ? null : match.join( ", " );
 				},
 
 				// Raw string
@@ -9033,12 +9541,12 @@ jQuery.extend( {
 		deferred.promise( jqXHR );
 
 		// Add protocol if not provided (prefilters might expect it)
-		// Handle falsy url in the settings object (#10093: consistency with old signature)
+		// Handle falsy url in the settings object (trac-10093: consistency with old signature)
 		// We also use the url parameter if available
 		s.url = ( ( url || s.url || location.href ) + "" )
 			.replace( rprotocol, location.protocol + "//" );
 
-		// Alias method option to type as per ticket #12004
+		// Alias method option to type as per ticket trac-12004
 		s.type = options.method || options.type || s.method || s.type;
 
 		// Extract dataTypes list
@@ -9081,7 +9589,7 @@ jQuery.extend( {
 		}
 
 		// We can fire global events as of now if asked to
-		// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
+		// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118)
 		fireGlobals = jQuery.event && s.global;
 
 		// Watch for a new set of requests
@@ -9110,14 +9618,15 @@ jQuery.extend( {
 			if ( s.data && ( s.processData || typeof s.data === "string" ) ) {
 				cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
 
-				// #9682: remove data so that it's not used in an eventual retry
+				// trac-9682: remove data so that it's not used in an eventual retry
 				delete s.data;
 			}
 
 			// Add or update anti-cache param if needed
 			if ( s.cache === false ) {
 				cacheURL = cacheURL.replace( rantiCache, "$1" );
-				uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached;
+				uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) +
+					uncached;
 			}
 
 			// Put hash and anti-cache on the URL that will be requested (gh-1732)
@@ -9250,6 +9759,13 @@ jQuery.extend( {
 				response = ajaxHandleResponses( s, jqXHR, responses );
 			}
 
+			// Use a noop converter for missing script but not if jsonp
+			if ( !isSuccess &&
+				jQuery.inArray( "script", s.dataTypes ) > -1 &&
+				jQuery.inArray( "json", s.dataTypes ) < 0 ) {
+				s.converters[ "text script" ] = function() {};
+			}
+
 			// Convert no matter what (that way responseXXX fields are always set)
 			response = ajaxConvert( s, response, jqXHR, isSuccess );
 
@@ -9340,7 +9856,7 @@ jQuery.extend( {
 	}
 } );
 
-jQuery.each( [ "get", "post" ], function( i, method ) {
+jQuery.each( [ "get", "post" ], function( _i, method ) {
 	jQuery[ method ] = function( url, data, callback, type ) {
 
 		// Shift arguments if data argument was omitted
@@ -9361,18 +9877,36 @@ jQuery.each( [ "get", "post" ], function( i, method ) {
 	};
 } );
 
+jQuery.ajaxPrefilter( function( s ) {
+	var i;
+	for ( i in s.headers ) {
+		if ( i.toLowerCase() === "content-type" ) {
+			s.contentType = s.headers[ i ] || "";
+		}
+	}
+} );
+
 
-jQuery._evalUrl = function( url ) {
+jQuery._evalUrl = function( url, options, doc ) {
 	return jQuery.ajax( {
 		url: url,
 
-		// Make this explicit, since user can override this through ajaxSetup (#11264)
+		// Make this explicit, since user can override this through ajaxSetup (trac-11264)
 		type: "GET",
 		dataType: "script",
 		cache: true,
 		async: false,
 		global: false,
-		"throws": true
+
+		// Only evaluate the response if it is successful (gh-4126)
+		// dataFilter is not invoked for failure responses, so using it instead
+		// of the default converter is kludgy but it works.
+		converters: {
+			"text script": function() {}
+		},
+		dataFilter: function( response ) {
+			jQuery.globalEval( response, options, doc );
+		}
 	} );
 };
 
@@ -9466,7 +10000,7 @@ var xhrSuccessStatus = {
 		0: 200,
 
 		// Support: IE <=9 only
-		// #1450: sometimes IE returns 1223 when it should be 204
+		// trac-1450: sometimes IE returns 1223 when it should be 204
 		1223: 204
 	},
 	xhrSupported = jQuery.ajaxSettings.xhr();
@@ -9538,7 +10072,7 @@ jQuery.ajaxTransport( function( options ) {
 								} else {
 									complete(
 
-										// File: protocol always yields status 0; see #8605, #14207
+										// File: protocol always yields status 0; see trac-8605, trac-14207
 										xhr.status,
 										xhr.statusText
 									);
@@ -9599,7 +10133,7 @@ jQuery.ajaxTransport( function( options ) {
 					xhr.send( options.hasContent && options.data || null );
 				} catch ( e ) {
 
-					// #14683: Only rethrow if this hasn't been notified as an error yet
+					// trac-14683: Only rethrow if this hasn't been notified as an error yet
 					if ( callback ) {
 						throw e;
 					}
@@ -9655,24 +10189,21 @@ jQuery.ajaxPrefilter( "script", function( s ) {
 // Bind script tag hack transport
 jQuery.ajaxTransport( "script", function( s ) {
 
-	// This transport only deals with cross domain requests
-	if ( s.crossDomain ) {
+	// This transport only deals with cross domain or forced-by-attrs requests
+	if ( s.crossDomain || s.scriptAttrs ) {
 		var script, callback;
 		return {
 			send: function( _, complete ) {
-				script = jQuery( "<script>" ).prop( {
-					charset: s.scriptCharset,
-					src: s.url
-				} ).on(
-					"load error",
-					callback = function( evt ) {
+				script = jQuery( "<script>" )
+					.attr( s.scriptAttrs || {} )
+					.prop( { charset: s.scriptCharset, src: s.url } )
+					.on( "load error", callback = function( evt ) {
 						script.remove();
 						callback = null;
 						if ( evt ) {
 							complete( evt.type === "error" ? 404 : 200, evt.type );
 						}
-					}
-				);
+					} );
 
 				// Use native DOM manipulation to avoid our domManip AJAX trickery
 				document.head.appendChild( script[ 0 ] );
@@ -9696,7 +10227,7 @@ var oldCallbacks = [],
 jQuery.ajaxSetup( {
 	jsonp: "callback",
 	jsonpCallback: function() {
-		var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
+		var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) );
 		this[ callback ] = true;
 		return callback;
 	}
@@ -9913,23 +10444,6 @@ jQuery.fn.load = function( url, params, callback ) {
 
 
 
-// Attach a bunch of functions for handling common AJAX events
-jQuery.each( [
-	"ajaxStart",
-	"ajaxStop",
-	"ajaxComplete",
-	"ajaxError",
-	"ajaxSuccess",
-	"ajaxSend"
-], function( i, type ) {
-	jQuery.fn[ type ] = function( fn ) {
-		return this.on( type, fn );
-	};
-} );
-
-
-
-
 jQuery.expr.pseudos.animated = function( elem ) {
 	return jQuery.grep( jQuery.timers, function( fn ) {
 		return elem === fn.elem;
@@ -10136,7 +10650,7 @@ jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function(
 // Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
 // getComputedStyle returns percent when specified for top/left/bottom/right;
 // rather than make the css module depend on the offset module, just check for it here
-jQuery.each( [ "top", "left" ], function( i, prop ) {
+jQuery.each( [ "top", "left" ], function( _i, prop ) {
 	jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
 		function( elem, computed ) {
 			if ( computed ) {
@@ -10154,8 +10668,11 @@ jQuery.each( [ "top", "left" ], function( i, prop ) {
 
 // Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
 jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
-	jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name },
-		function( defaultExtra, funcName ) {
+	jQuery.each( {
+		padding: "inner" + name,
+		content: type,
+		"": "outer" + name
+	}, function( defaultExtra, funcName ) {
 
 		// Margin is only for outerHeight, outerWidth
 		jQuery.fn[ funcName ] = function( margin, value ) {
@@ -10199,25 +10716,19 @@ jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
 } );
 
 
-jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
-	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
-	"change select submit keydown keypress keyup contextmenu" ).split( " " ),
-	function( i, name ) {
-
-	// Handle event binding
-	jQuery.fn[ name ] = function( data, fn ) {
-		return arguments.length > 0 ?
-			this.on( name, null, data, fn ) :
-			this.trigger( name );
+jQuery.each( [
+	"ajaxStart",
+	"ajaxStop",
+	"ajaxComplete",
+	"ajaxError",
+	"ajaxSuccess",
+	"ajaxSend"
+], function( _i, type ) {
+	jQuery.fn[ type ] = function( fn ) {
+		return this.on( type, fn );
 	};
 } );
 
-jQuery.fn.extend( {
-	hover: function( fnOver, fnOut ) {
-		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
-	}
-} );
-
 
 
 
@@ -10239,9 +10750,37 @@ jQuery.fn.extend( {
 		return arguments.length === 1 ?
 			this.off( selector, "**" ) :
 			this.off( types, selector || "**", fn );
+	},
+
+	hover: function( fnOver, fnOut ) {
+		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
 	}
 } );
 
+jQuery.each(
+	( "blur focus focusin focusout resize scroll click dblclick " +
+	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
+	"change select submit keydown keypress keyup contextmenu" ).split( " " ),
+	function( _i, name ) {
+
+		// Handle event binding
+		jQuery.fn[ name ] = function( data, fn ) {
+			return arguments.length > 0 ?
+				this.on( name, null, data, fn ) :
+				this.trigger( name );
+		};
+	}
+);
+
+
+
+
+// Support: Android <=4.0 only
+// Make sure we trim BOM and NBSP
+// Require that the "whitespace run" starts from a non-whitespace
+// to avoid O(N^2) behavior when the engine would try matching "\s+$" at each space position.
+var rtrim = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;
+
 // Bind a function to a context, optionally partially applying any
 // arguments.
 // jQuery.proxy is deprecated to promote standards (specifically Function#bind)
@@ -10304,6 +10843,11 @@ jQuery.isNumeric = function( obj ) {
 		!isNaN( obj - parseFloat( obj ) );
 };
 
+jQuery.trim = function( text ) {
+	return text == null ?
+		"" :
+		( text + "" ).replace( rtrim, "$1" );
+};
 
 
 
@@ -10350,9 +10894,9 @@ jQuery.noConflict = function( deep ) {
 };
 
 // Expose jQuery and $ identifiers, even in AMD
-// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
-// and CommonJS for browser emulators (#13566)
-if ( !noGlobal ) {
+// (trac-7102#comment:10, https://github.com/jquery/jquery/pull/557)
+// and CommonJS for browser emulators (trac-13566)
+if ( typeof noGlobal === "undefined" ) {
 	window.jQuery = window.$ = jQuery;
 }
 
diff --git a/doc/html/_static/language_data.js b/doc/html/_static/language_data.js
index 5266fb19ecb24d085a338bdace79a063326b1cff..2e22b06ab13bec689de4d1530b8b625bc6d69ae8 100644
--- a/doc/html/_static/language_data.js
+++ b/doc/html/_static/language_data.js
@@ -5,15 +5,16 @@
  * This script contains the language-specific data used by searchtools.js,
  * namely the list of stopwords, stemmer, scorer and splitter.
  *
- * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
  * :license: BSD, see LICENSE for details.
  *
  */
 
-var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"];
+var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"];
 
 
-/* Non-minified version JS is _stemmer.js if file is provided */ 
+/* Non-minified version is copied as a separate JS file, is available */
+
 /**
  * Porter Stemmer
  */
@@ -196,102 +197,3 @@ var Stemmer = function() {
   }
 }
 
-
-
-
-
-var splitChars = (function() {
-    var result = {};
-    var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648,
-         1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702,
-         2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971,
-         2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345,
-         3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761,
-         3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823,
-         4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125,
-         8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695,
-         11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587,
-         43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141];
-    var i, j, start, end;
-    for (i = 0; i < singles.length; i++) {
-        result[singles[i]] = true;
-    }
-    var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709],
-         [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161],
-         [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568],
-         [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807],
-         [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047],
-         [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383],
-         [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450],
-         [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547],
-         [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673],
-         [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820],
-         [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946],
-         [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023],
-         [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173],
-         [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332],
-         [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481],
-         [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718],
-         [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791],
-         [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095],
-         [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205],
-         [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687],
-         [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968],
-         [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869],
-         [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102],
-         [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271],
-         [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592],
-         [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822],
-         [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167],
-         [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959],
-         [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143],
-         [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318],
-         [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483],
-         [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101],
-         [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567],
-         [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292],
-         [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444],
-         [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783],
-         [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311],
-         [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511],
-         [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774],
-         [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071],
-         [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263],
-         [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519],
-         [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647],
-         [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967],
-         [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295],
-         [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274],
-         [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007],
-         [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381],
-         [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]];
-    for (i = 0; i < ranges.length; i++) {
-        start = ranges[i][0];
-        end = ranges[i][1];
-        for (j = start; j <= end; j++) {
-            result[j] = true;
-        }
-    }
-    return result;
-})();
-
-function splitQuery(query) {
-    var result = [];
-    var start = -1;
-    for (var i = 0; i < query.length; i++) {
-        if (splitChars[query.charCodeAt(i)]) {
-            if (start !== -1) {
-                result.push(query.slice(start, i));
-                start = -1;
-            }
-        } else if (start === -1) {
-            start = i;
-        }
-    }
-    if (start !== -1) {
-        result.push(query.slice(start));
-    }
-    return result;
-}
-
-
diff --git a/doc/html/_static/pygments.css b/doc/html/_static/pygments.css
index 20c4814dcf0d3f437ee9a46f5957e3165aa5fb17..691aeb82d0057a353637453f168872571a8e5328 100644
--- a/doc/html/_static/pygments.css
+++ b/doc/html/_static/pygments.css
@@ -1,5 +1,10 @@
+pre { line-height: 125%; }
+td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
 .highlight .hll { background-color: #ffffcc }
-.highlight  { background: #eeffcc; }
+.highlight { background: #eeffcc; }
 .highlight .c { color: #408090; font-style: italic } /* Comment */
 .highlight .err { border: 1px solid #FF0000 } /* Error */
 .highlight .k { color: #007020; font-weight: bold } /* Keyword */
diff --git a/doc/html/_static/searchtools.js b/doc/html/_static/searchtools.js
index 5ff318066d83f9da7a5a97f34f7d78e1a7696c7c..0b5537ff4992419bdc5e3cc6fdc5064fecc44253 100644
--- a/doc/html/_static/searchtools.js
+++ b/doc/html/_static/searchtools.js
@@ -4,22 +4,24 @@
  *
  * Sphinx JavaScript utilities for the full-text search.
  *
- * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
  * :license: BSD, see LICENSE for details.
  *
  */
+"use strict";
 
-if (!Scorer) {
-  /**
-   * Simple result scoring code.
-   */
+/**
+ * Simple result scoring code.
+ */
+if (typeof Scorer === "undefined") {
   var Scorer = {
     // Implement the following function to further tweak the score for each result
-    // The function takes a result array [filename, title, anchor, descr, score]
+    // The function takes a result array [docname, title, anchor, descr, score, filename]
     // and returns the new score.
     /*
-    score: function(result) {
-      return result[4];
+    score: result => {
+      const [docname, title, anchor, descr, score, filename] = result
+      return score
     },
     */
 
@@ -28,423 +30,519 @@ if (!Scorer) {
     // or matches in the last dotted part of the object name
     objPartialMatch: 6,
     // Additive scores depending on the priority of the object
-    objPrio: {0:  15,   // used to be importantResults
-              1:  5,   // used to be objectResults
-              2: -5},  // used to be unimportantResults
+    objPrio: {
+      0: 15, // used to be importantResults
+      1: 5, // used to be objectResults
+      2: -5, // used to be unimportantResults
+    },
     //  Used when the priority is not in the mapping.
     objPrioDefault: 0,
 
     // query found in title
     title: 15,
+    partialTitle: 7,
     // query found in terms
-    term: 5
+    term: 5,
+    partialTerm: 2,
   };
 }
 
-if (!splitQuery) {
-  function splitQuery(query) {
-    return query.split(/\s+/);
+const _removeChildren = (element) => {
+  while (element && element.lastChild) element.removeChild(element.lastChild);
+};
+
+/**
+ * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping
+ */
+const _escapeRegExp = (string) =>
+  string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
+
+const _displayItem = (item, searchTerms, highlightTerms) => {
+  const docBuilder = DOCUMENTATION_OPTIONS.BUILDER;
+  const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT;
+  const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX;
+  const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX;
+  const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY;
+
+  const [docName, title, anchor, descr, score, _filename] = item;
+
+  let listItem = document.createElement("li");
+  let requestUrl;
+  let linkUrl;
+  if (docBuilder === "dirhtml") {
+    // dirhtml builder
+    let dirname = docName + "/";
+    if (dirname.match(/\/index\/$/))
+      dirname = dirname.substring(0, dirname.length - 6);
+    else if (dirname === "index/") dirname = "";
+    requestUrl = docUrlRoot + dirname;
+    linkUrl = requestUrl;
+  } else {
+    // normal html builders
+    requestUrl = docUrlRoot + docName + docFileSuffix;
+    linkUrl = docName + docLinkSuffix;
+  }
+  let linkEl = listItem.appendChild(document.createElement("a"));
+  linkEl.href = linkUrl + anchor;
+  linkEl.dataset.score = score;
+  linkEl.innerHTML = title;
+  const rehighlightListItem = () => window.setTimeout(() => {
+    if (SPHINX_HIGHLIGHT_ENABLED)  // set in sphinx_highlight.js
+      highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
+  }, 10);
+  if (descr) {
+    listItem.appendChild(document.createElement("span")).innerHTML =
+      " (" + descr + ")";
+    rehighlightListItem();
+  }
+  else if (showSearchSummary)
+    fetch(requestUrl)
+      .then((responseData) => responseData.text())
+      .then((data) => {
+        if (data)
+          listItem.appendChild(
+            Search.makeSearchSummary(data, searchTerms)
+          );
+        rehighlightListItem();
+      });
+  Search.output.appendChild(listItem);
+};
+const _finishSearch = (resultCount) => {
+  Search.stopPulse();
+  Search.title.innerText = _("Search Results");
+  if (!resultCount)
+    Search.status.innerText = Documentation.gettext(
+      "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories."
+    );
+  else
+    Search.status.innerText = _(
+      `Search finished, found ${resultCount} page(s) matching the search query.`
+    );
+};
+const _displayNextItem = (
+  results,
+  resultCount,
+  searchTerms,
+  highlightTerms,
+) => {
+  // results left, load the summary and display it
+  // this is intended to be dynamic (don't sub resultsCount)
+  if (results.length) {
+    _displayItem(results.pop(), searchTerms, highlightTerms);
+    setTimeout(
+      () => _displayNextItem(results, resultCount, searchTerms, highlightTerms),
+      5
+    );
   }
+  // search finished, update title and status message
+  else _finishSearch(resultCount);
+};
+
+/**
+ * Default splitQuery function. Can be overridden in ``sphinx.search`` with a
+ * custom function per language.
+ *
+ * The regular expression works by splitting the string on consecutive characters
+ * that are not Unicode letters, numbers, underscores, or emoji characters.
+ * This is the same as ``\W+`` in Python, preserving the surrogate pair area.
+ */
+if (typeof splitQuery === "undefined") {
+  var splitQuery = (query) => query
+      .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu)
+      .filter(term => term)  // remove remaining empty strings
 }
 
 /**
  * Search Module
  */
-var Search = {
-
-  _index : null,
-  _queued_query : null,
-  _pulse_status : -1,
-
-  init : function() {
-      var params = $.getQueryParameters();
-      if (params.q) {
-          var query = params.q[0];
-          $('input[name="q"]')[0].value = query;
-          this.performSearch(query);
-      }
+const Search = {
+  _index: null,
+  _queued_query: null,
+  _pulse_status: -1,
+
+  htmlToText: (htmlString) => {
+    const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html');
+    htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() });
+    const docContent = htmlElement.querySelector('[role="main"]');
+    if (docContent !== undefined) return docContent.textContent;
+    console.warn(
+      "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template."
+    );
+    return "";
   },
 
-  loadIndex : function(url) {
-    $.ajax({type: "GET", url: url, data: null,
-            dataType: "script", cache: true,
-            complete: function(jqxhr, textstatus) {
-              if (textstatus != "success") {
-                document.getElementById("searchindexloader").src = url;
-              }
-            }});
+  init: () => {
+    const query = new URLSearchParams(window.location.search).get("q");
+    document
+      .querySelectorAll('input[name="q"]')
+      .forEach((el) => (el.value = query));
+    if (query) Search.performSearch(query);
   },
 
-  setIndex : function(index) {
-    var q;
-    this._index = index;
-    if ((q = this._queued_query) !== null) {
-      this._queued_query = null;
-      Search.query(q);
+  loadIndex: (url) =>
+    (document.body.appendChild(document.createElement("script")).src = url),
+
+  setIndex: (index) => {
+    Search._index = index;
+    if (Search._queued_query !== null) {
+      const query = Search._queued_query;
+      Search._queued_query = null;
+      Search.query(query);
     }
   },
 
-  hasIndex : function() {
-      return this._index !== null;
-  },
+  hasIndex: () => Search._index !== null,
 
-  deferQuery : function(query) {
-      this._queued_query = query;
-  },
+  deferQuery: (query) => (Search._queued_query = query),
 
-  stopPulse : function() {
-      this._pulse_status = 0;
-  },
+  stopPulse: () => (Search._pulse_status = -1),
 
-  startPulse : function() {
-    if (this._pulse_status >= 0)
-        return;
-    function pulse() {
-      var i;
+  startPulse: () => {
+    if (Search._pulse_status >= 0) return;
+
+    const pulse = () => {
       Search._pulse_status = (Search._pulse_status + 1) % 4;
-      var dotString = '';
-      for (i = 0; i < Search._pulse_status; i++)
-        dotString += '.';
-      Search.dots.text(dotString);
-      if (Search._pulse_status > -1)
-        window.setTimeout(pulse, 500);
-    }
+      Search.dots.innerText = ".".repeat(Search._pulse_status);
+      if (Search._pulse_status >= 0) window.setTimeout(pulse, 500);
+    };
     pulse();
   },
 
   /**
    * perform a search for something (or wait until index is loaded)
    */
-  performSearch : function(query) {
+  performSearch: (query) => {
     // create the required interface elements
-    this.out = $('#search-results');
-    this.title = $('<h2>' + _('Searching') + '</h2>').appendTo(this.out);
-    this.dots = $('<span></span>').appendTo(this.title);
-    this.status = $('<p style="display: none"></p>').appendTo(this.out);
-    this.output = $('<ul class="search"/>').appendTo(this.out);
-
-    $('#search-progress').text(_('Preparing search...'));
-    this.startPulse();
+    const searchText = document.createElement("h2");
+    searchText.textContent = _("Searching");
+    const searchSummary = document.createElement("p");
+    searchSummary.classList.add("search-summary");
+    searchSummary.innerText = "";
+    const searchList = document.createElement("ul");
+    searchList.classList.add("search");
+
+    const out = document.getElementById("search-results");
+    Search.title = out.appendChild(searchText);
+    Search.dots = Search.title.appendChild(document.createElement("span"));
+    Search.status = out.appendChild(searchSummary);
+    Search.output = out.appendChild(searchList);
+
+    const searchProgress = document.getElementById("search-progress");
+    // Some themes don't use the search progress node
+    if (searchProgress) {
+      searchProgress.innerText = _("Preparing search...");
+    }
+    Search.startPulse();
 
     // index already loaded, the browser was quick!
-    if (this.hasIndex())
-      this.query(query);
-    else
-      this.deferQuery(query);
+    if (Search.hasIndex()) Search.query(query);
+    else Search.deferQuery(query);
   },
 
   /**
    * execute search (requires search index to be loaded)
    */
-  query : function(query) {
-    var i;
-
-    // stem the searchterms and add them to the correct list
-    var stemmer = new Stemmer();
-    var searchterms = [];
-    var excluded = [];
-    var hlterms = [];
-    var tmp = splitQuery(query);
-    var objectterms = [];
-    for (i = 0; i < tmp.length; i++) {
-      if (tmp[i] !== "") {
-          objectterms.push(tmp[i].toLowerCase());
-      }
+  query: (query) => {
+    const filenames = Search._index.filenames;
+    const docNames = Search._index.docnames;
+    const titles = Search._index.titles;
+    const allTitles = Search._index.alltitles;
+    const indexEntries = Search._index.indexentries;
+
+    // stem the search terms and add them to the correct list
+    const stemmer = new Stemmer();
+    const searchTerms = new Set();
+    const excludedTerms = new Set();
+    const highlightTerms = new Set();
+    const objectTerms = new Set(splitQuery(query.toLowerCase().trim()));
+    splitQuery(query.trim()).forEach((queryTerm) => {
+      const queryTermLower = queryTerm.toLowerCase();
+
+      // maybe skip this "word"
+      // stopwords array is from language_data.js
+      if (
+        stopwords.indexOf(queryTermLower) !== -1 ||
+        queryTerm.match(/^\d+$/)
+      )
+        return;
 
-      if ($u.indexOf(stopwords, tmp[i].toLowerCase()) != -1 || tmp[i].match(/^\d+$/) ||
-          tmp[i] === "") {
-        // skip this "word"
-        continue;
-      }
       // stem the word
-      var word = stemmer.stemWord(tmp[i].toLowerCase());
-      // prevent stemmer from cutting word smaller than two chars
-      if(word.length < 3 && tmp[i].length >= 3) {
-        word = tmp[i];
-      }
-      var toAppend;
+      let word = stemmer.stemWord(queryTermLower);
       // select the correct list
-      if (word[0] == '-') {
-        toAppend = excluded;
-        word = word.substr(1);
-      }
+      if (word[0] === "-") excludedTerms.add(word.substr(1));
       else {
-        toAppend = searchterms;
-        hlterms.push(tmp[i].toLowerCase());
+        searchTerms.add(word);
+        highlightTerms.add(queryTermLower);
       }
-      // only add if not already in the list
-      if (!$u.contains(toAppend, word))
-        toAppend.push(word);
-    }
-    var highlightstring = '?highlight=' + $.urlencode(hlterms.join(" "));
+    });
 
-    // console.debug('SEARCH: searching for:');
-    // console.info('required: ', searchterms);
-    // console.info('excluded: ', excluded);
+    if (SPHINX_HIGHLIGHT_ENABLED) {  // set in sphinx_highlight.js
+      localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" "))
+    }
 
-    // prepare search
-    var terms = this._index.terms;
-    var titleterms = this._index.titleterms;
+    // console.debug("SEARCH: searching for:");
+    // console.info("required: ", [...searchTerms]);
+    // console.info("excluded: ", [...excludedTerms]);
+
+    // array of [docname, title, anchor, descr, score, filename]
+    let results = [];
+    _removeChildren(document.getElementById("search-progress"));
+
+    const queryLower = query.toLowerCase();
+    for (const [title, foundTitles] of Object.entries(allTitles)) {
+      if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) {
+        for (const [file, id] of foundTitles) {
+          let score = Math.round(100 * queryLower.length / title.length)
+          results.push([
+            docNames[file],
+            titles[file] !== title ? `${titles[file]} > ${title}` : title,
+            id !== null ? "#" + id : "",
+            null,
+            score,
+            filenames[file],
+          ]);
+        }
+      }
+    }
 
-    // array of [filename, title, anchor, descr, score]
-    var results = [];
-    $('#search-progress').empty();
+    // search for explicit entries in index directives
+    for (const [entry, foundEntries] of Object.entries(indexEntries)) {
+      if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) {
+        for (const [file, id] of foundEntries) {
+          let score = Math.round(100 * queryLower.length / entry.length)
+          results.push([
+            docNames[file],
+            titles[file],
+            id ? "#" + id : "",
+            null,
+            score,
+            filenames[file],
+          ]);
+        }
+      }
+    }
 
     // lookup as object
-    for (i = 0; i < objectterms.length; i++) {
-      var others = [].concat(objectterms.slice(0, i),
-                             objectterms.slice(i+1, objectterms.length));
-      results = results.concat(this.performObjectSearch(objectterms[i], others));
-    }
+    objectTerms.forEach((term) =>
+      results.push(...Search.performObjectSearch(term, objectTerms))
+    );
 
     // lookup as search terms in fulltext
-    results = results.concat(this.performTermsSearch(searchterms, excluded, terms, titleterms));
+    results.push(...Search.performTermsSearch(searchTerms, excludedTerms));
 
     // let the scorer override scores with a custom scoring function
-    if (Scorer.score) {
-      for (i = 0; i < results.length; i++)
-        results[i][4] = Scorer.score(results[i]);
-    }
+    if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item)));
 
     // now sort the results by score (in opposite order of appearance, since the
     // display function below uses pop() to retrieve items) and then
     // alphabetically
-    results.sort(function(a, b) {
-      var left = a[4];
-      var right = b[4];
-      if (left > right) {
-        return 1;
-      } else if (left < right) {
-        return -1;
-      } else {
+    results.sort((a, b) => {
+      const leftScore = a[4];
+      const rightScore = b[4];
+      if (leftScore === rightScore) {
         // same score: sort alphabetically
-        left = a[1].toLowerCase();
-        right = b[1].toLowerCase();
-        return (left > right) ? -1 : ((left < right) ? 1 : 0);
+        const leftTitle = a[1].toLowerCase();
+        const rightTitle = b[1].toLowerCase();
+        if (leftTitle === rightTitle) return 0;
+        return leftTitle > rightTitle ? -1 : 1; // inverted is intentional
       }
+      return leftScore > rightScore ? 1 : -1;
     });
 
+    // remove duplicate search results
+    // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept
+    let seen = new Set();
+    results = results.reverse().reduce((acc, result) => {
+      let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(',');
+      if (!seen.has(resultStr)) {
+        acc.push(result);
+        seen.add(resultStr);
+      }
+      return acc;
+    }, []);
+
+    results = results.reverse();
+
     // for debugging
     //Search.lastresults = results.slice();  // a copy
-    //console.info('search results:', Search.lastresults);
+    // console.info("search results:", Search.lastresults);
 
     // print the results
-    var resultCount = results.length;
-    function displayNextItem() {
-      // results left, load the summary and display it
-      if (results.length) {
-        var item = results.pop();
-        var listItem = $('<li style="display:none"></li>');
-        if (DOCUMENTATION_OPTIONS.FILE_SUFFIX === '') {
-          // dirhtml builder
-          var dirname = item[0] + '/';
-          if (dirname.match(/\/index\/$/)) {
-            dirname = dirname.substring(0, dirname.length-6);
-          } else if (dirname == 'index/') {
-            dirname = '';
-          }
-          listItem.append($('<a/>').attr('href',
-            DOCUMENTATION_OPTIONS.URL_ROOT + dirname +
-            highlightstring + item[2]).html(item[1]));
-        } else {
-          // normal html builders
-          listItem.append($('<a/>').attr('href',
-            item[0] + DOCUMENTATION_OPTIONS.FILE_SUFFIX +
-            highlightstring + item[2]).html(item[1]));
-        }
-        if (item[3]) {
-          listItem.append($('<span> (' + item[3] + ')</span>'));
-          Search.output.append(listItem);
-          listItem.slideDown(5, function() {
-            displayNextItem();
-          });
-        } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
-          var suffix = DOCUMENTATION_OPTIONS.SOURCELINK_SUFFIX;
-          if (suffix === undefined) {
-            suffix = '.txt';
-          }
-          $.ajax({url: DOCUMENTATION_OPTIONS.URL_ROOT + '_sources/' + item[5] + (item[5].slice(-suffix.length) === suffix ? '' : suffix),
-                  dataType: "text",
-                  complete: function(jqxhr, textstatus) {
-                    var data = jqxhr.responseText;
-                    if (data !== '' && data !== undefined) {
-                      listItem.append(Search.makeSearchSummary(data, searchterms, hlterms));
-                    }
-                    Search.output.append(listItem);
-                    listItem.slideDown(5, function() {
-                      displayNextItem();
-                    });
-                  }});
-        } else {
-          // no source available, just display title
-          Search.output.append(listItem);
-          listItem.slideDown(5, function() {
-            displayNextItem();
-          });
-        }
-      }
-      // search finished, update title and status message
-      else {
-        Search.stopPulse();
-        Search.title.text(_('Search Results'));
-        if (!resultCount)
-          Search.status.text(_('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.'));
-        else
-            Search.status.text(_('Search finished, found %s page(s) matching the search query.').replace('%s', resultCount));
-        Search.status.fadeIn(500);
-      }
-    }
-    displayNextItem();
+    _displayNextItem(results, results.length, searchTerms, highlightTerms);
   },
 
   /**
    * search for object names
    */
-  performObjectSearch : function(object, otherterms) {
-    var filenames = this._index.filenames;
-    var docnames = this._index.docnames;
-    var objects = this._index.objects;
-    var objnames = this._index.objnames;
-    var titles = this._index.titles;
-
-    var i;
-    var results = [];
-
-    for (var prefix in objects) {
-      for (var name in objects[prefix]) {
-        var fullname = (prefix ? prefix + '.' : '') + name;
-        if (fullname.toLowerCase().indexOf(object) > -1) {
-          var score = 0;
-          var parts = fullname.split('.');
-          // check for different match types: exact matches of full name or
-          // "last name" (i.e. last dotted part)
-          if (fullname == object || parts[parts.length - 1] == object) {
-            score += Scorer.objNameMatch;
-          // matches in last name
-          } else if (parts[parts.length - 1].indexOf(object) > -1) {
-            score += Scorer.objPartialMatch;
-          }
-          var match = objects[prefix][name];
-          var objname = objnames[match[1]][2];
-          var title = titles[match[0]];
-          // If more than one term searched for, we require other words to be
-          // found in the name/title/description
-          if (otherterms.length > 0) {
-            var haystack = (prefix + ' ' + name + ' ' +
-                            objname + ' ' + title).toLowerCase();
-            var allfound = true;
-            for (i = 0; i < otherterms.length; i++) {
-              if (haystack.indexOf(otherterms[i]) == -1) {
-                allfound = false;
-                break;
-              }
-            }
-            if (!allfound) {
-              continue;
-            }
-          }
-          var descr = objname + _(', in ') + title;
-
-          var anchor = match[3];
-          if (anchor === '')
-            anchor = fullname;
-          else if (anchor == '-')
-            anchor = objnames[match[1]][1] + '-' + fullname;
-          // add custom score for some objects according to scorer
-          if (Scorer.objPrio.hasOwnProperty(match[2])) {
-            score += Scorer.objPrio[match[2]];
-          } else {
-            score += Scorer.objPrioDefault;
-          }
-          results.push([docnames[match[0]], fullname, '#'+anchor, descr, score, filenames[match[0]]]);
-        }
+  performObjectSearch: (object, objectTerms) => {
+    const filenames = Search._index.filenames;
+    const docNames = Search._index.docnames;
+    const objects = Search._index.objects;
+    const objNames = Search._index.objnames;
+    const titles = Search._index.titles;
+
+    const results = [];
+
+    const objectSearchCallback = (prefix, match) => {
+      const name = match[4]
+      const fullname = (prefix ? prefix + "." : "") + name;
+      const fullnameLower = fullname.toLowerCase();
+      if (fullnameLower.indexOf(object) < 0) return;
+
+      let score = 0;
+      const parts = fullnameLower.split(".");
+
+      // check for different match types: exact matches of full name or
+      // "last name" (i.e. last dotted part)
+      if (fullnameLower === object || parts.slice(-1)[0] === object)
+        score += Scorer.objNameMatch;
+      else if (parts.slice(-1)[0].indexOf(object) > -1)
+        score += Scorer.objPartialMatch; // matches in last name
+
+      const objName = objNames[match[1]][2];
+      const title = titles[match[0]];
+
+      // If more than one term searched for, we require other words to be
+      // found in the name/title/description
+      const otherTerms = new Set(objectTerms);
+      otherTerms.delete(object);
+      if (otherTerms.size > 0) {
+        const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase();
+        if (
+          [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0)
+        )
+          return;
       }
-    }
 
+      let anchor = match[3];
+      if (anchor === "") anchor = fullname;
+      else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname;
+
+      const descr = objName + _(", in ") + title;
+
+      // add custom score for some objects according to scorer
+      if (Scorer.objPrio.hasOwnProperty(match[2]))
+        score += Scorer.objPrio[match[2]];
+      else score += Scorer.objPrioDefault;
+
+      results.push([
+        docNames[match[0]],
+        fullname,
+        "#" + anchor,
+        descr,
+        score,
+        filenames[match[0]],
+      ]);
+    };
+    Object.keys(objects).forEach((prefix) => {
+      if (!(objects[prefix] instanceof Array)) {
+        objects[prefix] = Object.entries(objects[prefix]).map(([name, match]) => [...match, name]);
+      }
+      objects[prefix].forEach((array) =>
+        objectSearchCallback(prefix, array)
+      );
+    });
     return results;
   },
 
   /**
    * search for full-text terms in the index
    */
-  performTermsSearch : function(searchterms, excluded, terms, titleterms) {
-    var docnames = this._index.docnames;
-    var filenames = this._index.filenames;
-    var titles = this._index.titles;
+  performTermsSearch: (searchTerms, excludedTerms) => {
+    // prepare search
+    const terms = Search._index.terms;
+    const titleTerms = Search._index.titleterms;
+    const filenames = Search._index.filenames;
+    const docNames = Search._index.docnames;
+    const titles = Search._index.titles;
 
-    var i, j, file;
-    var fileMap = {};
-    var scoreMap = {};
-    var results = [];
+    const scoreMap = new Map();
+    const fileMap = new Map();
 
     // perform the search on the required terms
-    for (i = 0; i < searchterms.length; i++) {
-      var word = searchterms[i];
-      var files = [];
-      var _o = [
-        {files: terms[word], score: Scorer.term},
-        {files: titleterms[word], score: Scorer.title}
+    searchTerms.forEach((word) => {
+      const files = [];
+      const arr = [
+        { files: terms[word], score: Scorer.term },
+        { files: titleTerms[word], score: Scorer.title },
       ];
+      // add support for partial matches
+      if (word.length > 2) {
+        const escapedWord = _escapeRegExp(word);
+        Object.keys(terms).forEach((term) => {
+          if (term.match(escapedWord) && !terms[word])
+            arr.push({ files: terms[term], score: Scorer.partialTerm });
+        });
+        Object.keys(titleTerms).forEach((term) => {
+          if (term.match(escapedWord) && !titleTerms[word])
+            arr.push({ files: titleTerms[word], score: Scorer.partialTitle });
+        });
+      }
 
       // no match but word was a required one
-      if ($u.every(_o, function(o){return o.files === undefined;})) {
-        break;
-      }
+      if (arr.every((record) => record.files === undefined)) return;
+
       // found search word in contents
-      $u.each(_o, function(o) {
-        var _files = o.files;
-        if (_files === undefined)
-          return
-
-        if (_files.length === undefined)
-          _files = [_files];
-        files = files.concat(_files);
-
-        // set score for the word in each file to Scorer.term
-        for (j = 0; j < _files.length; j++) {
-          file = _files[j];
-          if (!(file in scoreMap))
-            scoreMap[file] = {}
-          scoreMap[file][word] = o.score;
-        }
+      arr.forEach((record) => {
+        if (record.files === undefined) return;
+
+        let recordFiles = record.files;
+        if (recordFiles.length === undefined) recordFiles = [recordFiles];
+        files.push(...recordFiles);
+
+        // set score for the word in each file
+        recordFiles.forEach((file) => {
+          if (!scoreMap.has(file)) scoreMap.set(file, {});
+          scoreMap.get(file)[word] = record.score;
+        });
       });
 
       // create the mapping
-      for (j = 0; j < files.length; j++) {
-        file = files[j];
-        if (file in fileMap)
-          fileMap[file].push(word);
-        else
-          fileMap[file] = [word];
-      }
-    }
+      files.forEach((file) => {
+        if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1)
+          fileMap.get(file).push(word);
+        else fileMap.set(file, [word]);
+      });
+    });
 
     // now check if the files don't contain excluded terms
-    for (file in fileMap) {
-      var valid = true;
-
+    const results = [];
+    for (const [file, wordList] of fileMap) {
       // check if all requirements are matched
-      if (fileMap[file].length != searchterms.length)
-          continue;
+
+      // as search terms with length < 3 are discarded
+      const filteredTermCount = [...searchTerms].filter(
+        (term) => term.length > 2
+      ).length;
+      if (
+        wordList.length !== searchTerms.size &&
+        wordList.length !== filteredTermCount
+      )
+        continue;
 
       // ensure that none of the excluded terms is in the search result
-      for (i = 0; i < excluded.length; i++) {
-        if (terms[excluded[i]] == file ||
-            titleterms[excluded[i]] == file ||
-            $u.contains(terms[excluded[i]] || [], file) ||
-            $u.contains(titleterms[excluded[i]] || [], file)) {
-          valid = false;
-          break;
-        }
-      }
+      if (
+        [...excludedTerms].some(
+          (term) =>
+            terms[term] === file ||
+            titleTerms[term] === file ||
+            (terms[term] || []).includes(file) ||
+            (titleTerms[term] || []).includes(file)
+        )
+      )
+        break;
 
-      // if we have still a valid result we can add it to the result list
-      if (valid) {
-        // select one (max) score for the file.
-        // for better ranking, we should calculate ranking by using words statistics like basic tf-idf...
-        var score = $u.max($u.map(fileMap[file], function(w){return scoreMap[file][w]}));
-        results.push([docnames[file], titles[file], '', null, score, filenames[file]]);
-      }
+      // select one (max) score for the file.
+      const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w]));
+      // add result to the result list
+      results.push([
+        docNames[file],
+        titles[file],
+        "",
+        null,
+        score,
+        filenames[file],
+      ]);
     }
     return results;
   },
@@ -452,30 +550,28 @@ var Search = {
   /**
    * helper function to return a node containing the
    * search summary for a given text. keywords is a list
-   * of stemmed words, hlwords is the list of normal, unstemmed
-   * words. the first one is used to find the occurrence, the
-   * latter for highlighting it.
+   * of stemmed words.
    */
-  makeSearchSummary : function(text, keywords, hlwords) {
-    var textLower = text.toLowerCase();
-    var start = 0;
-    $.each(keywords, function() {
-      var i = textLower.indexOf(this.toLowerCase());
-      if (i > -1)
-        start = i;
-    });
-    start = Math.max(start - 120, 0);
-    var excerpt = ((start > 0) ? '...' : '') +
-      $.trim(text.substr(start, 240)) +
-      ((start + 240 - text.length) ? '...' : '');
-    var rv = $('<div class="context"></div>').text(excerpt);
-    $.each(hlwords, function() {
-      rv = rv.highlightText(this, 'highlighted');
-    });
-    return rv;
-  }
+  makeSearchSummary: (htmlText, keywords) => {
+    const text = Search.htmlToText(htmlText);
+    if (text === "") return null;
+
+    const textLower = text.toLowerCase();
+    const actualStartPosition = [...keywords]
+      .map((k) => textLower.indexOf(k.toLowerCase()))
+      .filter((i) => i > -1)
+      .slice(-1)[0];
+    const startWithContext = Math.max(actualStartPosition - 120, 0);
+
+    const top = startWithContext === 0 ? "" : "...";
+    const tail = startWithContext + 240 < text.length ? "..." : "";
+
+    let summary = document.createElement("p");
+    summary.classList.add("context");
+    summary.textContent = top + text.substr(startWithContext, 240).trim() + tail;
+
+    return summary;
+  },
 };
 
-$(document).ready(function() {
-  Search.init();
-});
+_ready(Search.init);
diff --git a/doc/html/_static/sphinx_highlight.js b/doc/html/_static/sphinx_highlight.js
new file mode 100644
index 0000000000000000000000000000000000000000..5fbd3ce5b589878ee2f70ee2865bcc58f2c07388
--- /dev/null
+++ b/doc/html/_static/sphinx_highlight.js
@@ -0,0 +1,152 @@
+/* Highlighting utilities for Sphinx HTML documentation. */
+"use strict";
+
+const SPHINX_HIGHLIGHT_ENABLED = true
+
+/**
+ * highlight a given string on a node by wrapping it in
+ * span elements with the given class name.
+ */
+const _highlight = (node, addItems, text, className) => {
+  if (node.nodeType === Node.TEXT_NODE) {
+    const val = node.nodeValue;
+    const parent = node.parentNode;
+    const pos = val.toLowerCase().indexOf(text);
+    if (
+      pos >= 0 &&
+      !parent.classList.contains(className) &&
+      !parent.classList.contains("nohighlight")
+    ) {
+      let span;
+
+      const closestNode = parent.closest("body, svg, foreignObject");
+      const isInSVG = closestNode && closestNode.matches("svg");
+      if (isInSVG) {
+        span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
+      } else {
+        span = document.createElement("span");
+        span.classList.add(className);
+      }
+
+      span.appendChild(document.createTextNode(val.substr(pos, text.length)));
+      const rest = document.createTextNode(val.substr(pos + text.length));
+      parent.insertBefore(
+        span,
+        parent.insertBefore(rest, node.nextSibling)
+      );
+      node.nodeValue = val.substr(0, pos);
+      /* There may be more occurrences of search term in this node. So call this
+       * function recursively on the remaining fragment.
+       */
+      _highlight(rest, addItems, text, className);
+
+      if (isInSVG) {
+        const rect = document.createElementNS(
+          "http://www.w3.org/2000/svg",
+          "rect"
+        );
+        const bbox = parent.getBBox();
+        rect.x.baseVal.value = bbox.x;
+        rect.y.baseVal.value = bbox.y;
+        rect.width.baseVal.value = bbox.width;
+        rect.height.baseVal.value = bbox.height;
+        rect.setAttribute("class", className);
+        addItems.push({ parent: parent, target: rect });
+      }
+    }
+  } else if (node.matches && !node.matches("button, select, textarea")) {
+    node.childNodes.forEach((el) => _highlight(el, addItems, text, className));
+  }
+};
+const _highlightText = (thisNode, text, className) => {
+  let addItems = [];
+  _highlight(thisNode, addItems, text, className);
+  addItems.forEach((obj) =>
+    obj.parent.insertAdjacentElement("beforebegin", obj.target)
+  );
+};
+
+/**
+ * Small JavaScript module for the documentation.
+ */
+const SphinxHighlight = {
+
+  /**
+   * highlight the search words provided in localstorage in the text
+   */
+  highlightSearchWords: () => {
+    if (!SPHINX_HIGHLIGHT_ENABLED) return;  // bail if no highlight
+
+    // get and clear terms from localstorage
+    const url = new URL(window.location);
+    const highlight =
+        localStorage.getItem("sphinx_highlight_terms")
+        || url.searchParams.get("highlight")
+        || "";
+    localStorage.removeItem("sphinx_highlight_terms")
+    url.searchParams.delete("highlight");
+    window.history.replaceState({}, "", url);
+
+    // get individual terms from highlight string
+    const terms = highlight.toLowerCase().split(/\s+/).filter(x => x);
+    if (terms.length === 0) return; // nothing to do
+
+    // There should never be more than one element matching "div.body"
+    const divBody = document.querySelectorAll("div.body");
+    const body = divBody.length ? divBody[0] : document.querySelector("body");
+    window.setTimeout(() => {
+      terms.forEach((term) => _highlightText(body, term, "highlighted"));
+    }, 10);
+
+    const searchBox = document.getElementById("searchbox");
+    if (searchBox === null) return;
+    searchBox.appendChild(
+      document
+        .createRange()
+        .createContextualFragment(
+          '<p class="highlight-link">' +
+            '<a href="javascript:SphinxHighlight.hideSearchWords()">' +
+            _("Hide Search Matches") +
+            "</a></p>"
+        )
+    );
+  },
+
+  /**
+   * helper function to hide the search marks again
+   */
+  hideSearchWords: () => {
+    document
+      .querySelectorAll("#searchbox .highlight-link")
+      .forEach((el) => el.remove());
+    document
+      .querySelectorAll("span.highlighted")
+      .forEach((el) => el.classList.remove("highlighted"));
+    localStorage.removeItem("sphinx_highlight_terms")
+  },
+
+  initEscapeListener: () => {
+    // only install a listener if it is really needed
+    if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return;
+
+    document.addEventListener("keydown", (event) => {
+      // bail for input elements
+      if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return;
+      // bail with special keys
+      if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return;
+      if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) {
+        SphinxHighlight.hideSearchWords();
+        event.preventDefault();
+      }
+    });
+  },
+};
+
+_ready(() => {
+  /* Do not call highlightSearchWords() when we are on the search page.
+   * It will highlight words from the _previous_ search query.
+   */
+  if (typeof Search === "undefined")
+    SphinxHighlight.highlightSearchWords();
+  SphinxHighlight.initEscapeListener();
+});
diff --git a/doc/html/_static/underscore.js b/doc/html/_static/underscore.js
index 709ae8e30b066fa10e18e77dac51551ec5bc4719..825f71066d8b1c2a99070ea78e5a0883596581ee 100644
--- a/doc/html/_static/underscore.js
+++ b/doc/html/_static/underscore.js
@@ -1,24 +1,28 @@
-//     Underscore.js 1.9.1
-//     http://underscorejs.org
-//     (c) 2009-2018 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
-//     Underscore may be freely distributed under the MIT license.
+(function (global, factory) {
+  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
+  typeof define === 'function' && define.amd ? define('underscore', factory) :
+  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (function () {
+    var current = global._;
+    var exports = global._ = factory();
+    exports.noConflict = function () { global._ = current; return exports; };
+  }()));
+}(this, (function () {
+  //     Underscore.js 1.13.4
+  //     https://underscorejs.org
+  //     (c) 2009-2022 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors
+  //     Underscore may be freely distributed under the MIT license.
 
-(function() {
-
-  // Baseline setup
-  // --------------
+  // Current version.
+  var VERSION = '1.13.4';
 
   // Establish the root object, `window` (`self`) in the browser, `global`
   // on the server, or `this` in some virtual machines. We use `self`
   // instead of `window` for `WebWorker` support.
-  var root = typeof self == 'object' && self.self === self && self ||
-            typeof global == 'object' && global.global === global && global ||
-            this ||
+  var root = (typeof self == 'object' && self.self === self && self) ||
+            (typeof global == 'object' && global.global === global && global) ||
+            Function('return this')() ||
             {};
 
-  // Save the previous value of the `_` variable.
-  var previousUnderscore = root._;
-
   // Save bytes in the minified (but not gzipped) version:
   var ArrayProto = Array.prototype, ObjProto = Object.prototype;
   var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null;
@@ -29,87 +33,35 @@
       toString = ObjProto.toString,
       hasOwnProperty = ObjProto.hasOwnProperty;
 
-  // All **ECMAScript 5** native function implementations that we hope to use
+  // Modern feature detection.
+  var supportsArrayBuffer = typeof ArrayBuffer !== 'undefined',
+      supportsDataView = typeof DataView !== 'undefined';
+
+  // All **ECMAScript 5+** native function implementations that we hope to use
   // are declared here.
   var nativeIsArray = Array.isArray,
       nativeKeys = Object.keys,
-      nativeCreate = Object.create;
-
-  // Naked function reference for surrogate-prototype-swapping.
-  var Ctor = function(){};
-
-  // Create a safe reference to the Underscore object for use below.
-  var _ = function(obj) {
-    if (obj instanceof _) return obj;
-    if (!(this instanceof _)) return new _(obj);
-    this._wrapped = obj;
-  };
-
-  // Export the Underscore object for **Node.js**, with
-  // backwards-compatibility for their old module API. If we're in
-  // the browser, add `_` as a global object.
-  // (`nodeType` is checked to ensure that `module`
-  // and `exports` are not HTML elements.)
-  if (typeof exports != 'undefined' && !exports.nodeType) {
-    if (typeof module != 'undefined' && !module.nodeType && module.exports) {
-      exports = module.exports = _;
-    }
-    exports._ = _;
-  } else {
-    root._ = _;
-  }
-
-  // Current version.
-  _.VERSION = '1.9.1';
-
-  // Internal function that returns an efficient (for current engines) version
-  // of the passed-in callback, to be repeatedly applied in other Underscore
-  // functions.
-  var optimizeCb = function(func, context, argCount) {
-    if (context === void 0) return func;
-    switch (argCount == null ? 3 : argCount) {
-      case 1: return function(value) {
-        return func.call(context, value);
-      };
-      // The 2-argument case is omitted because we’re not using it.
-      case 3: return function(value, index, collection) {
-        return func.call(context, value, index, collection);
-      };
-      case 4: return function(accumulator, value, index, collection) {
-        return func.call(context, accumulator, value, index, collection);
-      };
-    }
-    return function() {
-      return func.apply(context, arguments);
-    };
-  };
+      nativeCreate = Object.create,
+      nativeIsView = supportsArrayBuffer && ArrayBuffer.isView;
 
-  var builtinIteratee;
+  // Create references to these builtin functions because we override them.
+  var _isNaN = isNaN,
+      _isFinite = isFinite;
 
-  // An internal function to generate callbacks that can be applied to each
-  // element in a collection, returning the desired result — either `identity`,
-  // an arbitrary callback, a property matcher, or a property accessor.
-  var cb = function(value, context, argCount) {
-    if (_.iteratee !== builtinIteratee) return _.iteratee(value, context);
-    if (value == null) return _.identity;
-    if (_.isFunction(value)) return optimizeCb(value, context, argCount);
-    if (_.isObject(value) && !_.isArray(value)) return _.matcher(value);
-    return _.property(value);
-  };
+  // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.
+  var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');
+  var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',
+    'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];
 
-  // External wrapper for our callback generator. Users may customize
-  // `_.iteratee` if they want additional predicate/iteratee shorthand styles.
-  // This abstraction hides the internal-only argCount argument.
-  _.iteratee = builtinIteratee = function(value, context) {
-    return cb(value, context, Infinity);
-  };
+  // The largest integer that can be represented exactly.
+  var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;
 
   // Some functions take a variable number of arguments, or a few expected
   // arguments at the beginning and then a variable number of values to operate
   // on. This helper accumulates all remaining arguments past the function’s
   // argument length (or an explicit `startIndex`), into an array that becomes
   // the last argument. Similar to ES6’s "rest parameter".
-  var restArguments = function(func, startIndex) {
+  function restArguments(func, startIndex) {
     startIndex = startIndex == null ? func.length - 1 : +startIndex;
     return function() {
       var length = Math.max(arguments.length - startIndex, 0),
@@ -130,659 +82,920 @@
       args[startIndex] = rest;
       return func.apply(this, args);
     };
-  };
+  }
 
-  // An internal function for creating a new object that inherits from another.
-  var baseCreate = function(prototype) {
-    if (!_.isObject(prototype)) return {};
-    if (nativeCreate) return nativeCreate(prototype);
-    Ctor.prototype = prototype;
-    var result = new Ctor;
-    Ctor.prototype = null;
-    return result;
-  };
+  // Is a given variable an object?
+  function isObject(obj) {
+    var type = typeof obj;
+    return type === 'function' || (type === 'object' && !!obj);
+  }
+
+  // Is a given value equal to null?
+  function isNull(obj) {
+    return obj === null;
+  }
+
+  // Is a given variable undefined?
+  function isUndefined(obj) {
+    return obj === void 0;
+  }
+
+  // Is a given value a boolean?
+  function isBoolean(obj) {
+    return obj === true || obj === false || toString.call(obj) === '[object Boolean]';
+  }
+
+  // Is a given value a DOM element?
+  function isElement(obj) {
+    return !!(obj && obj.nodeType === 1);
+  }
 
-  var shallowProperty = function(key) {
+  // Internal function for creating a `toString`-based type tester.
+  function tagTester(name) {
+    var tag = '[object ' + name + ']';
     return function(obj) {
-      return obj == null ? void 0 : obj[key];
+      return toString.call(obj) === tag;
     };
-  };
+  }
+
+  var isString = tagTester('String');
+
+  var isNumber = tagTester('Number');
+
+  var isDate = tagTester('Date');
+
+  var isRegExp = tagTester('RegExp');
 
-  var has = function(obj, path) {
-    return obj != null && hasOwnProperty.call(obj, path);
+  var isError = tagTester('Error');
+
+  var isSymbol = tagTester('Symbol');
+
+  var isArrayBuffer = tagTester('ArrayBuffer');
+
+  var isFunction = tagTester('Function');
+
+  // Optimize `isFunction` if appropriate. Work around some `typeof` bugs in old
+  // v8, IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236).
+  var nodelist = root.document && root.document.childNodes;
+  if (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') {
+    isFunction = function(obj) {
+      return typeof obj == 'function' || false;
+    };
   }
 
-  var deepGet = function(obj, path) {
-    var length = path.length;
-    for (var i = 0; i < length; i++) {
-      if (obj == null) return void 0;
-      obj = obj[path[i]];
-    }
-    return length ? obj : void 0;
-  };
+  var isFunction$1 = isFunction;
 
-  // Helper for collection methods to determine whether a collection
-  // should be iterated as an array or as an object.
-  // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength
-  // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094
-  var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;
-  var getLength = shallowProperty('length');
-  var isArrayLike = function(collection) {
-    var length = getLength(collection);
-    return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;
-  };
+  var hasObjectTag = tagTester('Object');
 
-  // Collection Functions
-  // --------------------
+  // In IE 10 - Edge 13, `DataView` has string tag `'[object Object]'`.
+  // In IE 11, the most common among them, this problem also applies to
+  // `Map`, `WeakMap` and `Set`.
+  var hasStringTagBug = (
+        supportsDataView && hasObjectTag(new DataView(new ArrayBuffer(8)))
+      ),
+      isIE11 = (typeof Map !== 'undefined' && hasObjectTag(new Map));
 
-  // The cornerstone, an `each` implementation, aka `forEach`.
-  // Handles raw objects in addition to array-likes. Treats all
-  // sparse array-likes as if they were dense.
-  _.each = _.forEach = function(obj, iteratee, context) {
-    iteratee = optimizeCb(iteratee, context);
-    var i, length;
-    if (isArrayLike(obj)) {
-      for (i = 0, length = obj.length; i < length; i++) {
-        iteratee(obj[i], i, obj);
-      }
-    } else {
-      var keys = _.keys(obj);
-      for (i = 0, length = keys.length; i < length; i++) {
-        iteratee(obj[keys[i]], keys[i], obj);
-      }
+  var isDataView = tagTester('DataView');
+
+  // In IE 10 - Edge 13, we need a different heuristic
+  // to determine whether an object is a `DataView`.
+  function ie10IsDataView(obj) {
+    return obj != null && isFunction$1(obj.getInt8) && isArrayBuffer(obj.buffer);
+  }
+
+  var isDataView$1 = (hasStringTagBug ? ie10IsDataView : isDataView);
+
+  // Is a given value an array?
+  // Delegates to ECMA5's native `Array.isArray`.
+  var isArray = nativeIsArray || tagTester('Array');
+
+  // Internal function to check whether `key` is an own property name of `obj`.
+  function has$1(obj, key) {
+    return obj != null && hasOwnProperty.call(obj, key);
+  }
+
+  var isArguments = tagTester('Arguments');
+
+  // Define a fallback version of the method in browsers (ahem, IE < 9), where
+  // there isn't any inspectable "Arguments" type.
+  (function() {
+    if (!isArguments(arguments)) {
+      isArguments = function(obj) {
+        return has$1(obj, 'callee');
+      };
     }
-    return obj;
-  };
+  }());
 
-  // Return the results of applying the iteratee to each element.
-  _.map = _.collect = function(obj, iteratee, context) {
-    iteratee = cb(iteratee, context);
-    var keys = !isArrayLike(obj) && _.keys(obj),
-        length = (keys || obj).length,
-        results = Array(length);
-    for (var index = 0; index < length; index++) {
-      var currentKey = keys ? keys[index] : index;
-      results[index] = iteratee(obj[currentKey], currentKey, obj);
+  var isArguments$1 = isArguments;
+
+  // Is a given object a finite number?
+  function isFinite$1(obj) {
+    return !isSymbol(obj) && _isFinite(obj) && !isNaN(parseFloat(obj));
+  }
+
+  // Is the given value `NaN`?
+  function isNaN$1(obj) {
+    return isNumber(obj) && _isNaN(obj);
+  }
+
+  // Predicate-generating function. Often useful outside of Underscore.
+  function constant(value) {
+    return function() {
+      return value;
+    };
+  }
+
+  // Common internal logic for `isArrayLike` and `isBufferLike`.
+  function createSizePropertyCheck(getSizeProperty) {
+    return function(collection) {
+      var sizeProperty = getSizeProperty(collection);
+      return typeof sizeProperty == 'number' && sizeProperty >= 0 && sizeProperty <= MAX_ARRAY_INDEX;
     }
-    return results;
-  };
+  }
 
-  // Create a reducing function iterating left or right.
-  var createReduce = function(dir) {
-    // Wrap code that reassigns argument variables in a separate function than
-    // the one that accesses `arguments.length` to avoid a perf hit. (#1991)
-    var reducer = function(obj, iteratee, memo, initial) {
-      var keys = !isArrayLike(obj) && _.keys(obj),
-          length = (keys || obj).length,
-          index = dir > 0 ? 0 : length - 1;
-      if (!initial) {
-        memo = obj[keys ? keys[index] : index];
-        index += dir;
-      }
-      for (; index >= 0 && index < length; index += dir) {
-        var currentKey = keys ? keys[index] : index;
-        memo = iteratee(memo, obj[currentKey], currentKey, obj);
-      }
-      return memo;
+  // Internal helper to generate a function to obtain property `key` from `obj`.
+  function shallowProperty(key) {
+    return function(obj) {
+      return obj == null ? void 0 : obj[key];
     };
+  }
 
-    return function(obj, iteratee, memo, context) {
-      var initial = arguments.length >= 3;
-      return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial);
+  // Internal helper to obtain the `byteLength` property of an object.
+  var getByteLength = shallowProperty('byteLength');
+
+  // Internal helper to determine whether we should spend extensive checks against
+  // `ArrayBuffer` et al.
+  var isBufferLike = createSizePropertyCheck(getByteLength);
+
+  // Is a given value a typed array?
+  var typedArrayPattern = /\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;
+  function isTypedArray(obj) {
+    // `ArrayBuffer.isView` is the most future-proof, so use it when available.
+    // Otherwise, fall back on the above regular expression.
+    return nativeIsView ? (nativeIsView(obj) && !isDataView$1(obj)) :
+                  isBufferLike(obj) && typedArrayPattern.test(toString.call(obj));
+  }
+
+  var isTypedArray$1 = supportsArrayBuffer ? isTypedArray : constant(false);
+
+  // Internal helper to obtain the `length` property of an object.
+  var getLength = shallowProperty('length');
+
+  // Internal helper to create a simple lookup structure.
+  // `collectNonEnumProps` used to depend on `_.contains`, but this led to
+  // circular imports. `emulatedSet` is a one-off solution that only works for
+  // arrays of strings.
+  function emulatedSet(keys) {
+    var hash = {};
+    for (var l = keys.length, i = 0; i < l; ++i) hash[keys[i]] = true;
+    return {
+      contains: function(key) { return hash[key] === true; },
+      push: function(key) {
+        hash[key] = true;
+        return keys.push(key);
+      }
     };
-  };
+  }
 
-  // **Reduce** builds up a single result from a list of values, aka `inject`,
-  // or `foldl`.
-  _.reduce = _.foldl = _.inject = createReduce(1);
+  // Internal helper. Checks `keys` for the presence of keys in IE < 9 that won't
+  // be iterated by `for key in ...` and thus missed. Extends `keys` in place if
+  // needed.
+  function collectNonEnumProps(obj, keys) {
+    keys = emulatedSet(keys);
+    var nonEnumIdx = nonEnumerableProps.length;
+    var constructor = obj.constructor;
+    var proto = (isFunction$1(constructor) && constructor.prototype) || ObjProto;
 
-  // The right-associative version of reduce, also known as `foldr`.
-  _.reduceRight = _.foldr = createReduce(-1);
+    // Constructor is a special case.
+    var prop = 'constructor';
+    if (has$1(obj, prop) && !keys.contains(prop)) keys.push(prop);
 
-  // Return the first value which passes a truth test. Aliased as `detect`.
-  _.find = _.detect = function(obj, predicate, context) {
-    var keyFinder = isArrayLike(obj) ? _.findIndex : _.findKey;
-    var key = keyFinder(obj, predicate, context);
-    if (key !== void 0 && key !== -1) return obj[key];
-  };
+    while (nonEnumIdx--) {
+      prop = nonEnumerableProps[nonEnumIdx];
+      if (prop in obj && obj[prop] !== proto[prop] && !keys.contains(prop)) {
+        keys.push(prop);
+      }
+    }
+  }
 
-  // Return all the elements that pass a truth test.
-  // Aliased as `select`.
-  _.filter = _.select = function(obj, predicate, context) {
-    var results = [];
-    predicate = cb(predicate, context);
-    _.each(obj, function(value, index, list) {
-      if (predicate(value, index, list)) results.push(value);
-    });
-    return results;
-  };
+  // Retrieve the names of an object's own properties.
+  // Delegates to **ECMAScript 5**'s native `Object.keys`.
+  function keys(obj) {
+    if (!isObject(obj)) return [];
+    if (nativeKeys) return nativeKeys(obj);
+    var keys = [];
+    for (var key in obj) if (has$1(obj, key)) keys.push(key);
+    // Ahem, IE < 9.
+    if (hasEnumBug) collectNonEnumProps(obj, keys);
+    return keys;
+  }
 
-  // Return all the elements for which a truth test fails.
-  _.reject = function(obj, predicate, context) {
-    return _.filter(obj, _.negate(cb(predicate)), context);
-  };
+  // Is a given array, string, or object empty?
+  // An "empty" object has no enumerable own-properties.
+  function isEmpty(obj) {
+    if (obj == null) return true;
+    // Skip the more expensive `toString`-based type checks if `obj` has no
+    // `.length`.
+    var length = getLength(obj);
+    if (typeof length == 'number' && (
+      isArray(obj) || isString(obj) || isArguments$1(obj)
+    )) return length === 0;
+    return getLength(keys(obj)) === 0;
+  }
 
-  // Determine whether all of the elements match a truth test.
-  // Aliased as `all`.
-  _.every = _.all = function(obj, predicate, context) {
-    predicate = cb(predicate, context);
-    var keys = !isArrayLike(obj) && _.keys(obj),
-        length = (keys || obj).length;
-    for (var index = 0; index < length; index++) {
-      var currentKey = keys ? keys[index] : index;
-      if (!predicate(obj[currentKey], currentKey, obj)) return false;
+  // Returns whether an object has a given set of `key:value` pairs.
+  function isMatch(object, attrs) {
+    var _keys = keys(attrs), length = _keys.length;
+    if (object == null) return !length;
+    var obj = Object(object);
+    for (var i = 0; i < length; i++) {
+      var key = _keys[i];
+      if (attrs[key] !== obj[key] || !(key in obj)) return false;
     }
     return true;
-  };
+  }
 
-  // Determine if at least one element in the object matches a truth test.
-  // Aliased as `any`.
-  _.some = _.any = function(obj, predicate, context) {
-    predicate = cb(predicate, context);
-    var keys = !isArrayLike(obj) && _.keys(obj),
-        length = (keys || obj).length;
-    for (var index = 0; index < length; index++) {
-      var currentKey = keys ? keys[index] : index;
-      if (predicate(obj[currentKey], currentKey, obj)) return true;
-    }
-    return false;
-  };
+  // If Underscore is called as a function, it returns a wrapped object that can
+  // be used OO-style. This wrapper holds altered versions of all functions added
+  // through `_.mixin`. Wrapped objects may be chained.
+  function _$1(obj) {
+    if (obj instanceof _$1) return obj;
+    if (!(this instanceof _$1)) return new _$1(obj);
+    this._wrapped = obj;
+  }
 
-  // Determine if the array or object contains a given item (using `===`).
-  // Aliased as `includes` and `include`.
-  _.contains = _.includes = _.include = function(obj, item, fromIndex, guard) {
-    if (!isArrayLike(obj)) obj = _.values(obj);
-    if (typeof fromIndex != 'number' || guard) fromIndex = 0;
-    return _.indexOf(obj, item, fromIndex) >= 0;
+  _$1.VERSION = VERSION;
+
+  // Extracts the result from a wrapped and chained object.
+  _$1.prototype.value = function() {
+    return this._wrapped;
   };
 
-  // Invoke a method (with arguments) on every item in a collection.
-  _.invoke = restArguments(function(obj, path, args) {
-    var contextPath, func;
-    if (_.isFunction(path)) {
-      func = path;
-    } else if (_.isArray(path)) {
-      contextPath = path.slice(0, -1);
-      path = path[path.length - 1];
-    }
-    return _.map(obj, function(context) {
-      var method = func;
-      if (!method) {
-        if (contextPath && contextPath.length) {
-          context = deepGet(context, contextPath);
-        }
-        if (context == null) return void 0;
-        method = context[path];
-      }
-      return method == null ? method : method.apply(context, args);
-    });
-  });
+  // Provide unwrapping proxies for some methods used in engine operations
+  // such as arithmetic and JSON stringification.
+  _$1.prototype.valueOf = _$1.prototype.toJSON = _$1.prototype.value;
 
-  // Convenience version of a common use case of `map`: fetching a property.
-  _.pluck = function(obj, key) {
-    return _.map(obj, _.property(key));
+  _$1.prototype.toString = function() {
+    return String(this._wrapped);
   };
 
-  // Convenience version of a common use case of `filter`: selecting only objects
-  // containing specific `key:value` pairs.
-  _.where = function(obj, attrs) {
-    return _.filter(obj, _.matcher(attrs));
-  };
+  // Internal function to wrap or shallow-copy an ArrayBuffer,
+  // typed array or DataView to a new view, reusing the buffer.
+  function toBufferView(bufferSource) {
+    return new Uint8Array(
+      bufferSource.buffer || bufferSource,
+      bufferSource.byteOffset || 0,
+      getByteLength(bufferSource)
+    );
+  }
 
-  // Convenience version of a common use case of `find`: getting the first object
-  // containing specific `key:value` pairs.
-  _.findWhere = function(obj, attrs) {
-    return _.find(obj, _.matcher(attrs));
-  };
+  // We use this string twice, so give it a name for minification.
+  var tagDataView = '[object DataView]';
 
-  // Return the maximum element (or element-based computation).
-  _.max = function(obj, iteratee, context) {
-    var result = -Infinity, lastComputed = -Infinity,
-        value, computed;
-    if (iteratee == null || typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null) {
-      obj = isArrayLike(obj) ? obj : _.values(obj);
-      for (var i = 0, length = obj.length; i < length; i++) {
-        value = obj[i];
-        if (value != null && value > result) {
-          result = value;
-        }
+  // Internal recursive comparison function for `_.isEqual`.
+  function eq(a, b, aStack, bStack) {
+    // Identical objects are equal. `0 === -0`, but they aren't identical.
+    // See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal).
+    if (a === b) return a !== 0 || 1 / a === 1 / b;
+    // `null` or `undefined` only equal to itself (strict comparison).
+    if (a == null || b == null) return false;
+    // `NaN`s are equivalent, but non-reflexive.
+    if (a !== a) return b !== b;
+    // Exhaust primitive checks
+    var type = typeof a;
+    if (type !== 'function' && type !== 'object' && typeof b != 'object') return false;
+    return deepEq(a, b, aStack, bStack);
+  }
+
+  // Internal recursive comparison function for `_.isEqual`.
+  function deepEq(a, b, aStack, bStack) {
+    // Unwrap any wrapped objects.
+    if (a instanceof _$1) a = a._wrapped;
+    if (b instanceof _$1) b = b._wrapped;
+    // Compare `[[Class]]` names.
+    var className = toString.call(a);
+    if (className !== toString.call(b)) return false;
+    // Work around a bug in IE 10 - Edge 13.
+    if (hasStringTagBug && className == '[object Object]' && isDataView$1(a)) {
+      if (!isDataView$1(b)) return false;
+      className = tagDataView;
+    }
+    switch (className) {
+      // These types are compared by value.
+      case '[object RegExp]':
+        // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')
+      case '[object String]':
+        // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is
+        // equivalent to `new String("5")`.
+        return '' + a === '' + b;
+      case '[object Number]':
+        // `NaN`s are equivalent, but non-reflexive.
+        // Object(NaN) is equivalent to NaN.
+        if (+a !== +a) return +b !== +b;
+        // An `egal` comparison is performed for other numeric values.
+        return +a === 0 ? 1 / +a === 1 / b : +a === +b;
+      case '[object Date]':
+      case '[object Boolean]':
+        // Coerce dates and booleans to numeric primitive values. Dates are compared by their
+        // millisecond representations. Note that invalid dates with millisecond representations
+        // of `NaN` are not equivalent.
+        return +a === +b;
+      case '[object Symbol]':
+        return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b);
+      case '[object ArrayBuffer]':
+      case tagDataView:
+        // Coerce to typed array so we can fall through.
+        return deepEq(toBufferView(a), toBufferView(b), aStack, bStack);
+    }
+
+    var areArrays = className === '[object Array]';
+    if (!areArrays && isTypedArray$1(a)) {
+        var byteLength = getByteLength(a);
+        if (byteLength !== getByteLength(b)) return false;
+        if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return true;
+        areArrays = true;
+    }
+    if (!areArrays) {
+      if (typeof a != 'object' || typeof b != 'object') return false;
+
+      // Objects with different constructors are not equivalent, but `Object`s or `Array`s
+      // from different frames are.
+      var aCtor = a.constructor, bCtor = b.constructor;
+      if (aCtor !== bCtor && !(isFunction$1(aCtor) && aCtor instanceof aCtor &&
+                               isFunction$1(bCtor) && bCtor instanceof bCtor)
+                          && ('constructor' in a && 'constructor' in b)) {
+        return false;
       }
-    } else {
-      iteratee = cb(iteratee, context);
-      _.each(obj, function(v, index, list) {
-        computed = iteratee(v, index, list);
-        if (computed > lastComputed || computed === -Infinity && result === -Infinity) {
-          result = v;
-          lastComputed = computed;
-        }
-      });
     }
-    return result;
-  };
+    // Assume equality for cyclic structures. The algorithm for detecting cyclic
+    // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.
 
-  // Return the minimum element (or element-based computation).
-  _.min = function(obj, iteratee, context) {
-    var result = Infinity, lastComputed = Infinity,
-        value, computed;
-    if (iteratee == null || typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null) {
-      obj = isArrayLike(obj) ? obj : _.values(obj);
-      for (var i = 0, length = obj.length; i < length; i++) {
-        value = obj[i];
-        if (value != null && value < result) {
-          result = value;
-        }
+    // Initializing stack of traversed objects.
+    // It's done here since we only need them for objects and arrays comparison.
+    aStack = aStack || [];
+    bStack = bStack || [];
+    var length = aStack.length;
+    while (length--) {
+      // Linear search. Performance is inversely proportional to the number of
+      // unique nested structures.
+      if (aStack[length] === a) return bStack[length] === b;
+    }
+
+    // Add the first object to the stack of traversed objects.
+    aStack.push(a);
+    bStack.push(b);
+
+    // Recursively compare objects and arrays.
+    if (areArrays) {
+      // Compare array lengths to determine if a deep comparison is necessary.
+      length = a.length;
+      if (length !== b.length) return false;
+      // Deep compare the contents, ignoring non-numeric properties.
+      while (length--) {
+        if (!eq(a[length], b[length], aStack, bStack)) return false;
       }
     } else {
-      iteratee = cb(iteratee, context);
-      _.each(obj, function(v, index, list) {
-        computed = iteratee(v, index, list);
-        if (computed < lastComputed || computed === Infinity && result === Infinity) {
-          result = v;
-          lastComputed = computed;
-        }
-      });
+      // Deep compare objects.
+      var _keys = keys(a), key;
+      length = _keys.length;
+      // Ensure that both objects contain the same number of properties before comparing deep equality.
+      if (keys(b).length !== length) return false;
+      while (length--) {
+        // Deep compare each member
+        key = _keys[length];
+        if (!(has$1(b, key) && eq(a[key], b[key], aStack, bStack))) return false;
+      }
     }
-    return result;
-  };
+    // Remove the first object from the stack of traversed objects.
+    aStack.pop();
+    bStack.pop();
+    return true;
+  }
 
-  // Shuffle a collection.
-  _.shuffle = function(obj) {
-    return _.sample(obj, Infinity);
-  };
+  // Perform a deep comparison to check if two objects are equal.
+  function isEqual(a, b) {
+    return eq(a, b);
+  }
 
-  // Sample **n** random values from a collection using the modern version of the
-  // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).
-  // If **n** is not specified, returns a single random element.
-  // The internal `guard` argument allows it to work with `map`.
-  _.sample = function(obj, n, guard) {
-    if (n == null || guard) {
-      if (!isArrayLike(obj)) obj = _.values(obj);
-      return obj[_.random(obj.length - 1)];
+  // Retrieve all the enumerable property names of an object.
+  function allKeys(obj) {
+    if (!isObject(obj)) return [];
+    var keys = [];
+    for (var key in obj) keys.push(key);
+    // Ahem, IE < 9.
+    if (hasEnumBug) collectNonEnumProps(obj, keys);
+    return keys;
+  }
+
+  // Since the regular `Object.prototype.toString` type tests don't work for
+  // some types in IE 11, we use a fingerprinting heuristic instead, based
+  // on the methods. It's not great, but it's the best we got.
+  // The fingerprint method lists are defined below.
+  function ie11fingerprint(methods) {
+    var length = getLength(methods);
+    return function(obj) {
+      if (obj == null) return false;
+      // `Map`, `WeakMap` and `Set` have no enumerable keys.
+      var keys = allKeys(obj);
+      if (getLength(keys)) return false;
+      for (var i = 0; i < length; i++) {
+        if (!isFunction$1(obj[methods[i]])) return false;
+      }
+      // If we are testing against `WeakMap`, we need to ensure that
+      // `obj` doesn't have a `forEach` method in order to distinguish
+      // it from a regular `Map`.
+      return methods !== weakMapMethods || !isFunction$1(obj[forEachName]);
+    };
+  }
+
+  // In the interest of compact minification, we write
+  // each string in the fingerprints only once.
+  var forEachName = 'forEach',
+      hasName = 'has',
+      commonInit = ['clear', 'delete'],
+      mapTail = ['get', hasName, 'set'];
+
+  // `Map`, `WeakMap` and `Set` each have slightly different
+  // combinations of the above sublists.
+  var mapMethods = commonInit.concat(forEachName, mapTail),
+      weakMapMethods = commonInit.concat(mapTail),
+      setMethods = ['add'].concat(commonInit, forEachName, hasName);
+
+  var isMap = isIE11 ? ie11fingerprint(mapMethods) : tagTester('Map');
+
+  var isWeakMap = isIE11 ? ie11fingerprint(weakMapMethods) : tagTester('WeakMap');
+
+  var isSet = isIE11 ? ie11fingerprint(setMethods) : tagTester('Set');
+
+  var isWeakSet = tagTester('WeakSet');
+
+  // Retrieve the values of an object's properties.
+  function values(obj) {
+    var _keys = keys(obj);
+    var length = _keys.length;
+    var values = Array(length);
+    for (var i = 0; i < length; i++) {
+      values[i] = obj[_keys[i]];
     }
-    var sample = isArrayLike(obj) ? _.clone(obj) : _.values(obj);
-    var length = getLength(sample);
-    n = Math.max(Math.min(n, length), 0);
-    var last = length - 1;
-    for (var index = 0; index < n; index++) {
-      var rand = _.random(index, last);
-      var temp = sample[index];
-      sample[index] = sample[rand];
-      sample[rand] = temp;
+    return values;
+  }
+
+  // Convert an object into a list of `[key, value]` pairs.
+  // The opposite of `_.object` with one argument.
+  function pairs(obj) {
+    var _keys = keys(obj);
+    var length = _keys.length;
+    var pairs = Array(length);
+    for (var i = 0; i < length; i++) {
+      pairs[i] = [_keys[i], obj[_keys[i]]];
     }
-    return sample.slice(0, n);
-  };
+    return pairs;
+  }
 
-  // Sort the object's values by a criterion produced by an iteratee.
-  _.sortBy = function(obj, iteratee, context) {
-    var index = 0;
-    iteratee = cb(iteratee, context);
-    return _.pluck(_.map(obj, function(value, key, list) {
-      return {
-        value: value,
-        index: index++,
-        criteria: iteratee(value, key, list)
-      };
-    }).sort(function(left, right) {
-      var a = left.criteria;
-      var b = right.criteria;
-      if (a !== b) {
-        if (a > b || a === void 0) return 1;
-        if (a < b || b === void 0) return -1;
-      }
-      return left.index - right.index;
-    }), 'value');
-  };
+  // Invert the keys and values of an object. The values must be serializable.
+  function invert(obj) {
+    var result = {};
+    var _keys = keys(obj);
+    for (var i = 0, length = _keys.length; i < length; i++) {
+      result[obj[_keys[i]]] = _keys[i];
+    }
+    return result;
+  }
 
-  // An internal function used for aggregate "group by" operations.
-  var group = function(behavior, partition) {
-    return function(obj, iteratee, context) {
-      var result = partition ? [[], []] : {};
-      iteratee = cb(iteratee, context);
-      _.each(obj, function(value, index) {
-        var key = iteratee(value, index, obj);
-        behavior(result, value, key);
-      });
-      return result;
+  // Return a sorted list of the function names available on the object.
+  function functions(obj) {
+    var names = [];
+    for (var key in obj) {
+      if (isFunction$1(obj[key])) names.push(key);
+    }
+    return names.sort();
+  }
+
+  // An internal function for creating assigner functions.
+  function createAssigner(keysFunc, defaults) {
+    return function(obj) {
+      var length = arguments.length;
+      if (defaults) obj = Object(obj);
+      if (length < 2 || obj == null) return obj;
+      for (var index = 1; index < length; index++) {
+        var source = arguments[index],
+            keys = keysFunc(source),
+            l = keys.length;
+        for (var i = 0; i < l; i++) {
+          var key = keys[i];
+          if (!defaults || obj[key] === void 0) obj[key] = source[key];
+        }
+      }
+      return obj;
     };
-  };
+  }
 
-  // Groups the object's values by a criterion. Pass either a string attribute
-  // to group by, or a function that returns the criterion.
-  _.groupBy = group(function(result, value, key) {
-    if (has(result, key)) result[key].push(value); else result[key] = [value];
-  });
+  // Extend a given object with all the properties in passed-in object(s).
+  var extend = createAssigner(allKeys);
 
-  // Indexes the object's values by a criterion, similar to `groupBy`, but for
-  // when you know that your index values will be unique.
-  _.indexBy = group(function(result, value, key) {
-    result[key] = value;
-  });
+  // Assigns a given object with all the own properties in the passed-in
+  // object(s).
+  // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)
+  var extendOwn = createAssigner(keys);
 
-  // Counts instances of an object that group by a certain criterion. Pass
-  // either a string attribute to count by, or a function that returns the
-  // criterion.
-  _.countBy = group(function(result, value, key) {
-    if (has(result, key)) result[key]++; else result[key] = 1;
-  });
+  // Fill in a given object with default properties.
+  var defaults = createAssigner(allKeys, true);
 
-  var reStrSymbol = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;
-  // Safely create a real, live array from anything iterable.
-  _.toArray = function(obj) {
-    if (!obj) return [];
-    if (_.isArray(obj)) return slice.call(obj);
-    if (_.isString(obj)) {
-      // Keep surrogate pair characters together
-      return obj.match(reStrSymbol);
+  // Create a naked function reference for surrogate-prototype-swapping.
+  function ctor() {
+    return function(){};
+  }
+
+  // An internal function for creating a new object that inherits from another.
+  function baseCreate(prototype) {
+    if (!isObject(prototype)) return {};
+    if (nativeCreate) return nativeCreate(prototype);
+    var Ctor = ctor();
+    Ctor.prototype = prototype;
+    var result = new Ctor;
+    Ctor.prototype = null;
+    return result;
+  }
+
+  // Creates an object that inherits from the given prototype object.
+  // If additional properties are provided then they will be added to the
+  // created object.
+  function create(prototype, props) {
+    var result = baseCreate(prototype);
+    if (props) extendOwn(result, props);
+    return result;
+  }
+
+  // Create a (shallow-cloned) duplicate of an object.
+  function clone(obj) {
+    if (!isObject(obj)) return obj;
+    return isArray(obj) ? obj.slice() : extend({}, obj);
+  }
+
+  // Invokes `interceptor` with the `obj` and then returns `obj`.
+  // The primary purpose of this method is to "tap into" a method chain, in
+  // order to perform operations on intermediate results within the chain.
+  function tap(obj, interceptor) {
+    interceptor(obj);
+    return obj;
+  }
+
+  // Normalize a (deep) property `path` to array.
+  // Like `_.iteratee`, this function can be customized.
+  function toPath$1(path) {
+    return isArray(path) ? path : [path];
+  }
+  _$1.toPath = toPath$1;
+
+  // Internal wrapper for `_.toPath` to enable minification.
+  // Similar to `cb` for `_.iteratee`.
+  function toPath(path) {
+    return _$1.toPath(path);
+  }
+
+  // Internal function to obtain a nested property in `obj` along `path`.
+  function deepGet(obj, path) {
+    var length = path.length;
+    for (var i = 0; i < length; i++) {
+      if (obj == null) return void 0;
+      obj = obj[path[i]];
     }
-    if (isArrayLike(obj)) return _.map(obj, _.identity);
-    return _.values(obj);
-  };
+    return length ? obj : void 0;
+  }
 
-  // Return the number of elements in an object.
-  _.size = function(obj) {
-    if (obj == null) return 0;
-    return isArrayLike(obj) ? obj.length : _.keys(obj).length;
-  };
+  // Get the value of the (deep) property on `path` from `object`.
+  // If any property in `path` does not exist or if the value is
+  // `undefined`, return `defaultValue` instead.
+  // The `path` is normalized through `_.toPath`.
+  function get(object, path, defaultValue) {
+    var value = deepGet(object, toPath(path));
+    return isUndefined(value) ? defaultValue : value;
+  }
+
+  // Shortcut function for checking if an object has a given property directly on
+  // itself (in other words, not on a prototype). Unlike the internal `has`
+  // function, this public version can also traverse nested properties.
+  function has(obj, path) {
+    path = toPath(path);
+    var length = path.length;
+    for (var i = 0; i < length; i++) {
+      var key = path[i];
+      if (!has$1(obj, key)) return false;
+      obj = obj[key];
+    }
+    return !!length;
+  }
 
-  // Split a collection into two arrays: one whose elements all satisfy the given
-  // predicate, and one whose elements all do not satisfy the predicate.
-  _.partition = group(function(result, value, pass) {
-    result[pass ? 0 : 1].push(value);
-  }, true);
+  // Keep the identity function around for default iteratees.
+  function identity(value) {
+    return value;
+  }
 
-  // Array Functions
-  // ---------------
+  // Returns a predicate for checking whether an object has a given set of
+  // `key:value` pairs.
+  function matcher(attrs) {
+    attrs = extendOwn({}, attrs);
+    return function(obj) {
+      return isMatch(obj, attrs);
+    };
+  }
 
-  // Get the first element of an array. Passing **n** will return the first N
-  // values in the array. Aliased as `head` and `take`. The **guard** check
-  // allows it to work with `_.map`.
-  _.first = _.head = _.take = function(array, n, guard) {
-    if (array == null || array.length < 1) return n == null ? void 0 : [];
-    if (n == null || guard) return array[0];
-    return _.initial(array, array.length - n);
-  };
+  // Creates a function that, when passed an object, will traverse that object’s
+  // properties down the given `path`, specified as an array of keys or indices.
+  function property(path) {
+    path = toPath(path);
+    return function(obj) {
+      return deepGet(obj, path);
+    };
+  }
 
-  // Returns everything but the last entry of the array. Especially useful on
-  // the arguments object. Passing **n** will return all the values in
-  // the array, excluding the last N.
-  _.initial = function(array, n, guard) {
-    return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));
-  };
+  // Internal function that returns an efficient (for current engines) version
+  // of the passed-in callback, to be repeatedly applied in other Underscore
+  // functions.
+  function optimizeCb(func, context, argCount) {
+    if (context === void 0) return func;
+    switch (argCount == null ? 3 : argCount) {
+      case 1: return function(value) {
+        return func.call(context, value);
+      };
+      // The 2-argument case is omitted because we’re not using it.
+      case 3: return function(value, index, collection) {
+        return func.call(context, value, index, collection);
+      };
+      case 4: return function(accumulator, value, index, collection) {
+        return func.call(context, accumulator, value, index, collection);
+      };
+    }
+    return function() {
+      return func.apply(context, arguments);
+    };
+  }
 
-  // Get the last element of an array. Passing **n** will return the last N
-  // values in the array.
-  _.last = function(array, n, guard) {
-    if (array == null || array.length < 1) return n == null ? void 0 : [];
-    if (n == null || guard) return array[array.length - 1];
-    return _.rest(array, Math.max(0, array.length - n));
-  };
+  // An internal function to generate callbacks that can be applied to each
+  // element in a collection, returning the desired result — either `_.identity`,
+  // an arbitrary callback, a property matcher, or a property accessor.
+  function baseIteratee(value, context, argCount) {
+    if (value == null) return identity;
+    if (isFunction$1(value)) return optimizeCb(value, context, argCount);
+    if (isObject(value) && !isArray(value)) return matcher(value);
+    return property(value);
+  }
 
-  // Returns everything but the first entry of the array. Aliased as `tail` and `drop`.
-  // Especially useful on the arguments object. Passing an **n** will return
-  // the rest N values in the array.
-  _.rest = _.tail = _.drop = function(array, n, guard) {
-    return slice.call(array, n == null || guard ? 1 : n);
-  };
+  // External wrapper for our callback generator. Users may customize
+  // `_.iteratee` if they want additional predicate/iteratee shorthand styles.
+  // This abstraction hides the internal-only `argCount` argument.
+  function iteratee(value, context) {
+    return baseIteratee(value, context, Infinity);
+  }
+  _$1.iteratee = iteratee;
 
-  // Trim out all falsy values from an array.
-  _.compact = function(array) {
-    return _.filter(array, Boolean);
-  };
+  // The function we call internally to generate a callback. It invokes
+  // `_.iteratee` if overridden, otherwise `baseIteratee`.
+  function cb(value, context, argCount) {
+    if (_$1.iteratee !== iteratee) return _$1.iteratee(value, context);
+    return baseIteratee(value, context, argCount);
+  }
 
-  // Internal implementation of a recursive `flatten` function.
-  var flatten = function(input, shallow, strict, output) {
-    output = output || [];
-    var idx = output.length;
-    for (var i = 0, length = getLength(input); i < length; i++) {
-      var value = input[i];
-      if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) {
-        // Flatten current level of array or arguments object.
-        if (shallow) {
-          var j = 0, len = value.length;
-          while (j < len) output[idx++] = value[j++];
-        } else {
-          flatten(value, shallow, strict, output);
-          idx = output.length;
-        }
-      } else if (!strict) {
-        output[idx++] = value;
-      }
+  // Returns the results of applying the `iteratee` to each element of `obj`.
+  // In contrast to `_.map` it returns an object.
+  function mapObject(obj, iteratee, context) {
+    iteratee = cb(iteratee, context);
+    var _keys = keys(obj),
+        length = _keys.length,
+        results = {};
+    for (var index = 0; index < length; index++) {
+      var currentKey = _keys[index];
+      results[currentKey] = iteratee(obj[currentKey], currentKey, obj);
     }
-    return output;
-  };
+    return results;
+  }
 
-  // Flatten out an array, either recursively (by default), or just one level.
-  _.flatten = function(array, shallow) {
-    return flatten(array, shallow, false);
-  };
+  // Predicate-generating function. Often useful outside of Underscore.
+  function noop(){}
 
-  // Return a version of the array that does not contain the specified value(s).
-  _.without = restArguments(function(array, otherArrays) {
-    return _.difference(array, otherArrays);
-  });
+  // Generates a function for a given object that returns a given property.
+  function propertyOf(obj) {
+    if (obj == null) return noop;
+    return function(path) {
+      return get(obj, path);
+    };
+  }
 
-  // Produce a duplicate-free version of the array. If the array has already
-  // been sorted, you have the option of using a faster algorithm.
-  // The faster algorithm will not work with an iteratee if the iteratee
-  // is not a one-to-one function, so providing an iteratee will disable
-  // the faster algorithm.
-  // Aliased as `unique`.
-  _.uniq = _.unique = function(array, isSorted, iteratee, context) {
-    if (!_.isBoolean(isSorted)) {
-      context = iteratee;
-      iteratee = isSorted;
-      isSorted = false;
-    }
-    if (iteratee != null) iteratee = cb(iteratee, context);
-    var result = [];
-    var seen = [];
-    for (var i = 0, length = getLength(array); i < length; i++) {
-      var value = array[i],
-          computed = iteratee ? iteratee(value, i, array) : value;
-      if (isSorted && !iteratee) {
-        if (!i || seen !== computed) result.push(value);
-        seen = computed;
-      } else if (iteratee) {
-        if (!_.contains(seen, computed)) {
-          seen.push(computed);
-          result.push(value);
-        }
-      } else if (!_.contains(result, value)) {
-        result.push(value);
-      }
+  // Run a function **n** times.
+  function times(n, iteratee, context) {
+    var accum = Array(Math.max(0, n));
+    iteratee = optimizeCb(iteratee, context, 1);
+    for (var i = 0; i < n; i++) accum[i] = iteratee(i);
+    return accum;
+  }
+
+  // Return a random integer between `min` and `max` (inclusive).
+  function random(min, max) {
+    if (max == null) {
+      max = min;
+      min = 0;
     }
-    return result;
+    return min + Math.floor(Math.random() * (max - min + 1));
+  }
+
+  // A (possibly faster) way to get the current timestamp as an integer.
+  var now = Date.now || function() {
+    return new Date().getTime();
   };
 
-  // Produce an array that contains the union: each distinct element from all of
-  // the passed-in arrays.
-  _.union = restArguments(function(arrays) {
-    return _.uniq(flatten(arrays, true, true));
-  });
+  // Internal helper to generate functions for escaping and unescaping strings
+  // to/from HTML interpolation.
+  function createEscaper(map) {
+    var escaper = function(match) {
+      return map[match];
+    };
+    // Regexes for identifying a key that needs to be escaped.
+    var source = '(?:' + keys(map).join('|') + ')';
+    var testRegexp = RegExp(source);
+    var replaceRegexp = RegExp(source, 'g');
+    return function(string) {
+      string = string == null ? '' : '' + string;
+      return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;
+    };
+  }
 
-  // Produce an array that contains every item shared between all the
-  // passed-in arrays.
-  _.intersection = function(array) {
-    var result = [];
-    var argsLength = arguments.length;
-    for (var i = 0, length = getLength(array); i < length; i++) {
-      var item = array[i];
-      if (_.contains(result, item)) continue;
-      var j;
-      for (j = 1; j < argsLength; j++) {
-        if (!_.contains(arguments[j], item)) break;
-      }
-      if (j === argsLength) result.push(item);
-    }
-    return result;
+  // Internal list of HTML entities for escaping.
+  var escapeMap = {
+    '&': '&amp;',
+    '<': '&lt;',
+    '>': '&gt;',
+    '"': '&quot;',
+    "'": '&#x27;',
+    '`': '&#x60;'
   };
 
-  // Take the difference between one array and a number of other arrays.
-  // Only the elements present in just the first array will remain.
-  _.difference = restArguments(function(array, rest) {
-    rest = flatten(rest, true, true);
-    return _.filter(array, function(value){
-      return !_.contains(rest, value);
-    });
-  });
+  // Function for escaping strings to HTML interpolation.
+  var _escape = createEscaper(escapeMap);
 
-  // Complement of _.zip. Unzip accepts an array of arrays and groups
-  // each array's elements on shared indices.
-  _.unzip = function(array) {
-    var length = array && _.max(array, getLength).length || 0;
-    var result = Array(length);
+  // Internal list of HTML entities for unescaping.
+  var unescapeMap = invert(escapeMap);
 
-    for (var index = 0; index < length; index++) {
-      result[index] = _.pluck(array, index);
-    }
-    return result;
+  // Function for unescaping strings from HTML interpolation.
+  var _unescape = createEscaper(unescapeMap);
+
+  // By default, Underscore uses ERB-style template delimiters. Change the
+  // following template settings to use alternative delimiters.
+  var templateSettings = _$1.templateSettings = {
+    evaluate: /<%([\s\S]+?)%>/g,
+    interpolate: /<%=([\s\S]+?)%>/g,
+    escape: /<%-([\s\S]+?)%>/g
   };
 
-  // Zip together multiple lists into a single array -- elements that share
-  // an index go together.
-  _.zip = restArguments(_.unzip);
+  // When customizing `_.templateSettings`, if you don't want to define an
+  // interpolation, evaluation or escaping regex, we need one that is
+  // guaranteed not to match.
+  var noMatch = /(.)^/;
 
-  // Converts lists into objects. Pass either a single array of `[key, value]`
-  // pairs, or two parallel arrays of the same length -- one of keys, and one of
-  // the corresponding values. Passing by pairs is the reverse of _.pairs.
-  _.object = function(list, values) {
-    var result = {};
-    for (var i = 0, length = getLength(list); i < length; i++) {
-      if (values) {
-        result[list[i]] = values[i];
-      } else {
-        result[list[i][0]] = list[i][1];
-      }
-    }
-    return result;
+  // Certain characters need to be escaped so that they can be put into a
+  // string literal.
+  var escapes = {
+    "'": "'",
+    '\\': '\\',
+    '\r': 'r',
+    '\n': 'n',
+    '\u2028': 'u2028',
+    '\u2029': 'u2029'
   };
 
-  // Generator function to create the findIndex and findLastIndex functions.
-  var createPredicateIndexFinder = function(dir) {
-    return function(array, predicate, context) {
-      predicate = cb(predicate, context);
-      var length = getLength(array);
-      var index = dir > 0 ? 0 : length - 1;
-      for (; index >= 0 && index < length; index += dir) {
-        if (predicate(array[index], index, array)) return index;
-      }
-      return -1;
-    };
-  };
+  var escapeRegExp = /\\|'|\r|\n|\u2028|\u2029/g;
 
-  // Returns the first index on an array-like that passes a predicate test.
-  _.findIndex = createPredicateIndexFinder(1);
-  _.findLastIndex = createPredicateIndexFinder(-1);
+  function escapeChar(match) {
+    return '\\' + escapes[match];
+  }
 
-  // Use a comparator function to figure out the smallest index at which
-  // an object should be inserted so as to maintain order. Uses binary search.
-  _.sortedIndex = function(array, obj, iteratee, context) {
-    iteratee = cb(iteratee, context, 1);
-    var value = iteratee(obj);
-    var low = 0, high = getLength(array);
-    while (low < high) {
-      var mid = Math.floor((low + high) / 2);
-      if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;
-    }
-    return low;
-  };
+  // In order to prevent third-party code injection through
+  // `_.templateSettings.variable`, we test it against the following regular
+  // expression. It is intentionally a bit more liberal than just matching valid
+  // identifiers, but still prevents possible loopholes through defaults or
+  // destructuring assignment.
+  var bareIdentifier = /^\s*(\w|\$)+\s*$/;
 
-  // Generator function to create the indexOf and lastIndexOf functions.
-  var createIndexFinder = function(dir, predicateFind, sortedIndex) {
-    return function(array, item, idx) {
-      var i = 0, length = getLength(array);
-      if (typeof idx == 'number') {
-        if (dir > 0) {
-          i = idx >= 0 ? idx : Math.max(idx + length, i);
-        } else {
-          length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;
-        }
-      } else if (sortedIndex && idx && length) {
-        idx = sortedIndex(array, item);
-        return array[idx] === item ? idx : -1;
-      }
-      if (item !== item) {
-        idx = predicateFind(slice.call(array, i, length), _.isNaN);
-        return idx >= 0 ? idx + i : -1;
-      }
-      for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {
-        if (array[idx] === item) return idx;
+  // JavaScript micro-templating, similar to John Resig's implementation.
+  // Underscore templating handles arbitrary delimiters, preserves whitespace,
+  // and correctly escapes quotes within interpolated code.
+  // NB: `oldSettings` only exists for backwards compatibility.
+  function template(text, settings, oldSettings) {
+    if (!settings && oldSettings) settings = oldSettings;
+    settings = defaults({}, settings, _$1.templateSettings);
+
+    // Combine delimiters into one regular expression via alternation.
+    var matcher = RegExp([
+      (settings.escape || noMatch).source,
+      (settings.interpolate || noMatch).source,
+      (settings.evaluate || noMatch).source
+    ].join('|') + '|$', 'g');
+
+    // Compile the template source, escaping string literals appropriately.
+    var index = 0;
+    var source = "__p+='";
+    text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {
+      source += text.slice(index, offset).replace(escapeRegExp, escapeChar);
+      index = offset + match.length;
+
+      if (escape) {
+        source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'";
+      } else if (interpolate) {
+        source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'";
+      } else if (evaluate) {
+        source += "';\n" + evaluate + "\n__p+='";
       }
-      return -1;
-    };
-  };
 
-  // Return the position of the first occurrence of an item in an array,
-  // or -1 if the item is not included in the array.
-  // If the array is large and already in sort order, pass `true`
-  // for **isSorted** to use binary search.
-  _.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex);
-  _.lastIndexOf = createIndexFinder(-1, _.findLastIndex);
+      // Adobe VMs need the match returned to produce the correct offset.
+      return match;
+    });
+    source += "';\n";
 
-  // Generate an integer Array containing an arithmetic progression. A port of
-  // the native Python `range()` function. See
-  // [the Python documentation](http://docs.python.org/library/functions.html#range).
-  _.range = function(start, stop, step) {
-    if (stop == null) {
-      stop = start || 0;
-      start = 0;
-    }
-    if (!step) {
-      step = stop < start ? -1 : 1;
+    var argument = settings.variable;
+    if (argument) {
+      // Insure against third-party code injection. (CVE-2021-23358)
+      if (!bareIdentifier.test(argument)) throw new Error(
+        'variable is not a bare identifier: ' + argument
+      );
+    } else {
+      // If a variable is not specified, place data values in local scope.
+      source = 'with(obj||{}){\n' + source + '}\n';
+      argument = 'obj';
     }
 
-    var length = Math.max(Math.ceil((stop - start) / step), 0);
-    var range = Array(length);
+    source = "var __t,__p='',__j=Array.prototype.join," +
+      "print=function(){__p+=__j.call(arguments,'');};\n" +
+      source + 'return __p;\n';
 
-    for (var idx = 0; idx < length; idx++, start += step) {
-      range[idx] = start;
+    var render;
+    try {
+      render = new Function(argument, '_', source);
+    } catch (e) {
+      e.source = source;
+      throw e;
     }
 
-    return range;
-  };
+    var template = function(data) {
+      return render.call(this, data, _$1);
+    };
 
-  // Chunk a single array into multiple arrays, each containing `count` or fewer
-  // items.
-  _.chunk = function(array, count) {
-    if (count == null || count < 1) return [];
-    var result = [];
-    var i = 0, length = array.length;
-    while (i < length) {
-      result.push(slice.call(array, i, i += count));
+    // Provide the compiled source as a convenience for precompilation.
+    template.source = 'function(' + argument + '){\n' + source + '}';
+
+    return template;
+  }
+
+  // Traverses the children of `obj` along `path`. If a child is a function, it
+  // is invoked with its parent as context. Returns the value of the final
+  // child, or `fallback` if any child is undefined.
+  function result(obj, path, fallback) {
+    path = toPath(path);
+    var length = path.length;
+    if (!length) {
+      return isFunction$1(fallback) ? fallback.call(obj) : fallback;
     }
-    return result;
-  };
+    for (var i = 0; i < length; i++) {
+      var prop = obj == null ? void 0 : obj[path[i]];
+      if (prop === void 0) {
+        prop = fallback;
+        i = length; // Ensure we don't continue iterating.
+      }
+      obj = isFunction$1(prop) ? prop.call(obj) : prop;
+    }
+    return obj;
+  }
+
+  // Generate a unique integer id (unique within the entire client session).
+  // Useful for temporary DOM ids.
+  var idCounter = 0;
+  function uniqueId(prefix) {
+    var id = ++idCounter + '';
+    return prefix ? prefix + id : id;
+  }
 
-  // Function (ahem) Functions
-  // ------------------
+  // Start chaining a wrapped Underscore object.
+  function chain(obj) {
+    var instance = _$1(obj);
+    instance._chain = true;
+    return instance;
+  }
 
-  // Determines whether to execute a function as a constructor
-  // or a normal function with the provided arguments.
-  var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) {
+  // Internal function to execute `sourceFunc` bound to `context` with optional
+  // `args`. Determines whether to execute a function as a constructor or as a
+  // normal function.
+  function executeBound(sourceFunc, boundFunc, context, callingContext, args) {
     if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);
     var self = baseCreate(sourceFunc.prototype);
     var result = sourceFunc.apply(self, args);
-    if (_.isObject(result)) return result;
+    if (isObject(result)) return result;
     return self;
-  };
-
-  // Create a function bound to a given object (assigning `this`, and arguments,
-  // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if
-  // available.
-  _.bind = restArguments(function(func, context, args) {
-    if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function');
-    var bound = restArguments(function(callArgs) {
-      return executeBound(func, bound, context, this, args.concat(callArgs));
-    });
-    return bound;
-  });
+  }
 
   // Partially apply a function by creating a version that has had some of its
-  // arguments pre-filled, without changing its dynamic `this` context. _ acts
+  // arguments pre-filled, without changing its dynamic `this` context. `_` acts
   // as a placeholder by default, allowing any combination of arguments to be
   // pre-filled. Set `_.partial.placeholder` for a custom placeholder argument.
-  _.partial = restArguments(function(func, boundArgs) {
-    var placeholder = _.partial.placeholder;
+  var partial = restArguments(function(func, boundArgs) {
+    var placeholder = partial.placeholder;
     var bound = function() {
       var position = 0, length = boundArgs.length;
       var args = Array(length);
@@ -795,36 +1008,80 @@
     return bound;
   });
 
-  _.partial.placeholder = _;
+  partial.placeholder = _$1;
+
+  // Create a function bound to a given object (assigning `this`, and arguments,
+  // optionally).
+  var bind = restArguments(function(func, context, args) {
+    if (!isFunction$1(func)) throw new TypeError('Bind must be called on a function');
+    var bound = restArguments(function(callArgs) {
+      return executeBound(func, bound, context, this, args.concat(callArgs));
+    });
+    return bound;
+  });
+
+  // Internal helper for collection methods to determine whether a collection
+  // should be iterated as an array or as an object.
+  // Related: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength
+  // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094
+  var isArrayLike = createSizePropertyCheck(getLength);
+
+  // Internal implementation of a recursive `flatten` function.
+  function flatten$1(input, depth, strict, output) {
+    output = output || [];
+    if (!depth && depth !== 0) {
+      depth = Infinity;
+    } else if (depth <= 0) {
+      return output.concat(input);
+    }
+    var idx = output.length;
+    for (var i = 0, length = getLength(input); i < length; i++) {
+      var value = input[i];
+      if (isArrayLike(value) && (isArray(value) || isArguments$1(value))) {
+        // Flatten current level of array or arguments object.
+        if (depth > 1) {
+          flatten$1(value, depth - 1, strict, output);
+          idx = output.length;
+        } else {
+          var j = 0, len = value.length;
+          while (j < len) output[idx++] = value[j++];
+        }
+      } else if (!strict) {
+        output[idx++] = value;
+      }
+    }
+    return output;
+  }
 
   // Bind a number of an object's methods to that object. Remaining arguments
   // are the method names to be bound. Useful for ensuring that all callbacks
   // defined on an object belong to it.
-  _.bindAll = restArguments(function(obj, keys) {
-    keys = flatten(keys, false, false);
+  var bindAll = restArguments(function(obj, keys) {
+    keys = flatten$1(keys, false, false);
     var index = keys.length;
     if (index < 1) throw new Error('bindAll must be passed function names');
     while (index--) {
       var key = keys[index];
-      obj[key] = _.bind(obj[key], obj);
+      obj[key] = bind(obj[key], obj);
     }
+    return obj;
   });
 
   // Memoize an expensive function by storing its results.
-  _.memoize = function(func, hasher) {
+  function memoize(func, hasher) {
     var memoize = function(key) {
       var cache = memoize.cache;
       var address = '' + (hasher ? hasher.apply(this, arguments) : key);
-      if (!has(cache, address)) cache[address] = func.apply(this, arguments);
+      if (!has$1(cache, address)) cache[address] = func.apply(this, arguments);
       return cache[address];
     };
     memoize.cache = {};
     return memoize;
-  };
+  }
 
   // Delays a function for the given number of milliseconds, and then calls
   // it with the arguments supplied.
-  _.delay = restArguments(function(func, wait, args) {
+  var delay = restArguments(function(func, wait, args) {
     return setTimeout(function() {
       return func.apply(null, args);
     }, wait);
@@ -832,29 +1089,29 @@
 
   // Defers a function, scheduling it to run after the current call stack has
   // cleared.
-  _.defer = _.partial(_.delay, _, 1);
+  var defer = partial(delay, _$1, 1);
 
   // Returns a function, that, when invoked, will only be triggered at most once
   // during a given window of time. Normally, the throttled function will run
   // as much as it can, without ever going more than once per `wait` duration;
   // but if you'd like to disable the execution on the leading edge, pass
   // `{leading: false}`. To disable execution on the trailing edge, ditto.
-  _.throttle = function(func, wait, options) {
+  function throttle(func, wait, options) {
     var timeout, context, args, result;
     var previous = 0;
     if (!options) options = {};
 
     var later = function() {
-      previous = options.leading === false ? 0 : _.now();
+      previous = options.leading === false ? 0 : now();
       timeout = null;
       result = func.apply(context, args);
       if (!timeout) context = args = null;
     };
 
     var throttled = function() {
-      var now = _.now();
-      if (!previous && options.leading === false) previous = now;
-      var remaining = wait - (now - previous);
+      var _now = now();
+      if (!previous && options.leading === false) previous = _now;
+      var remaining = wait - (_now - previous);
       context = this;
       args = arguments;
       if (remaining <= 0 || remaining > wait) {
@@ -862,7 +1119,7 @@
           clearTimeout(timeout);
           timeout = null;
         }
-        previous = now;
+        previous = _now;
         result = func.apply(context, args);
         if (!timeout) context = args = null;
       } else if (!timeout && options.trailing !== false) {
@@ -878,830 +1135,908 @@
     };
 
     return throttled;
-  };
+  }
 
-  // Returns a function, that, as long as it continues to be invoked, will not
-  // be triggered. The function will be called after it stops being called for
-  // N milliseconds. If `immediate` is passed, trigger the function on the
-  // leading edge, instead of the trailing.
-  _.debounce = function(func, wait, immediate) {
-    var timeout, result;
+  // When a sequence of calls of the returned function ends, the argument
+  // function is triggered. The end of a sequence is defined by the `wait`
+  // parameter. If `immediate` is passed, the argument function will be
+  // triggered at the beginning of the sequence instead of at the end.
+  function debounce(func, wait, immediate) {
+    var timeout, previous, args, result, context;
 
-    var later = function(context, args) {
-      timeout = null;
-      if (args) result = func.apply(context, args);
+    var later = function() {
+      var passed = now() - previous;
+      if (wait > passed) {
+        timeout = setTimeout(later, wait - passed);
+      } else {
+        timeout = null;
+        if (!immediate) result = func.apply(context, args);
+        // This check is needed because `func` can recursively invoke `debounced`.
+        if (!timeout) args = context = null;
+      }
     };
 
-    var debounced = restArguments(function(args) {
-      if (timeout) clearTimeout(timeout);
-      if (immediate) {
-        var callNow = !timeout;
+    var debounced = restArguments(function(_args) {
+      context = this;
+      args = _args;
+      previous = now();
+      if (!timeout) {
         timeout = setTimeout(later, wait);
-        if (callNow) result = func.apply(this, args);
-      } else {
-        timeout = _.delay(later, wait, this, args);
+        if (immediate) result = func.apply(context, args);
       }
-
       return result;
     });
 
     debounced.cancel = function() {
       clearTimeout(timeout);
-      timeout = null;
+      timeout = args = context = null;
     };
 
     return debounced;
-  };
+  }
 
   // Returns the first function passed as an argument to the second,
   // allowing you to adjust arguments, run code before and after, and
   // conditionally execute the original function.
-  _.wrap = function(func, wrapper) {
-    return _.partial(wrapper, func);
-  };
+  function wrap(func, wrapper) {
+    return partial(wrapper, func);
+  }
 
   // Returns a negated version of the passed-in predicate.
-  _.negate = function(predicate) {
+  function negate(predicate) {
     return function() {
       return !predicate.apply(this, arguments);
     };
-  };
-
-  // Returns a function that is the composition of a list of functions, each
-  // consuming the return value of the function that follows.
-  _.compose = function() {
-    var args = arguments;
-    var start = args.length - 1;
-    return function() {
-      var i = start;
-      var result = args[start].apply(this, arguments);
-      while (i--) result = args[i].call(this, result);
-      return result;
-    };
-  };
-
-  // Returns a function that will only be executed on and after the Nth call.
-  _.after = function(times, func) {
-    return function() {
-      if (--times < 1) {
-        return func.apply(this, arguments);
-      }
-    };
-  };
-
-  // Returns a function that will only be executed up to (but not including) the Nth call.
-  _.before = function(times, func) {
-    var memo;
-    return function() {
-      if (--times > 0) {
-        memo = func.apply(this, arguments);
-      }
-      if (times <= 1) func = null;
-      return memo;
-    };
-  };
-
-  // Returns a function that will be executed at most one time, no matter how
-  // often you call it. Useful for lazy initialization.
-  _.once = _.partial(_.before, 2);
-
-  _.restArguments = restArguments;
-
-  // Object Functions
-  // ----------------
-
-  // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.
-  var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');
-  var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',
-    'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];
-
-  var collectNonEnumProps = function(obj, keys) {
-    var nonEnumIdx = nonEnumerableProps.length;
-    var constructor = obj.constructor;
-    var proto = _.isFunction(constructor) && constructor.prototype || ObjProto;
-
-    // Constructor is a special case.
-    var prop = 'constructor';
-    if (has(obj, prop) && !_.contains(keys, prop)) keys.push(prop);
-
-    while (nonEnumIdx--) {
-      prop = nonEnumerableProps[nonEnumIdx];
-      if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) {
-        keys.push(prop);
-      }
-    }
-  };
-
-  // Retrieve the names of an object's own properties.
-  // Delegates to **ECMAScript 5**'s native `Object.keys`.
-  _.keys = function(obj) {
-    if (!_.isObject(obj)) return [];
-    if (nativeKeys) return nativeKeys(obj);
-    var keys = [];
-    for (var key in obj) if (has(obj, key)) keys.push(key);
-    // Ahem, IE < 9.
-    if (hasEnumBug) collectNonEnumProps(obj, keys);
-    return keys;
-  };
-
-  // Retrieve all the property names of an object.
-  _.allKeys = function(obj) {
-    if (!_.isObject(obj)) return [];
-    var keys = [];
-    for (var key in obj) keys.push(key);
-    // Ahem, IE < 9.
-    if (hasEnumBug) collectNonEnumProps(obj, keys);
-    return keys;
-  };
-
-  // Retrieve the values of an object's properties.
-  _.values = function(obj) {
-    var keys = _.keys(obj);
-    var length = keys.length;
-    var values = Array(length);
-    for (var i = 0; i < length; i++) {
-      values[i] = obj[keys[i]];
-    }
-    return values;
-  };
-
-  // Returns the results of applying the iteratee to each element of the object.
-  // In contrast to _.map it returns an object.
-  _.mapObject = function(obj, iteratee, context) {
-    iteratee = cb(iteratee, context);
-    var keys = _.keys(obj),
-        length = keys.length,
-        results = {};
-    for (var index = 0; index < length; index++) {
-      var currentKey = keys[index];
-      results[currentKey] = iteratee(obj[currentKey], currentKey, obj);
-    }
-    return results;
-  };
-
-  // Convert an object into a list of `[key, value]` pairs.
-  // The opposite of _.object.
-  _.pairs = function(obj) {
-    var keys = _.keys(obj);
-    var length = keys.length;
-    var pairs = Array(length);
-    for (var i = 0; i < length; i++) {
-      pairs[i] = [keys[i], obj[keys[i]]];
-    }
-    return pairs;
-  };
-
-  // Invert the keys and values of an object. The values must be serializable.
-  _.invert = function(obj) {
-    var result = {};
-    var keys = _.keys(obj);
-    for (var i = 0, length = keys.length; i < length; i++) {
-      result[obj[keys[i]]] = keys[i];
-    }
-    return result;
-  };
+  }
 
-  // Return a sorted list of the function names available on the object.
-  // Aliased as `methods`.
-  _.functions = _.methods = function(obj) {
-    var names = [];
-    for (var key in obj) {
-      if (_.isFunction(obj[key])) names.push(key);
-    }
-    return names.sort();
-  };
+  // Returns a function that is the composition of a list of functions, each
+  // consuming the return value of the function that follows.
+  function compose() {
+    var args = arguments;
+    var start = args.length - 1;
+    return function() {
+      var i = start;
+      var result = args[start].apply(this, arguments);
+      while (i--) result = args[i].call(this, result);
+      return result;
+    };
+  }
 
-  // An internal function for creating assigner functions.
-  var createAssigner = function(keysFunc, defaults) {
-    return function(obj) {
-      var length = arguments.length;
-      if (defaults) obj = Object(obj);
-      if (length < 2 || obj == null) return obj;
-      for (var index = 1; index < length; index++) {
-        var source = arguments[index],
-            keys = keysFunc(source),
-            l = keys.length;
-        for (var i = 0; i < l; i++) {
-          var key = keys[i];
-          if (!defaults || obj[key] === void 0) obj[key] = source[key];
-        }
+  // Returns a function that will only be executed on and after the Nth call.
+  function after(times, func) {
+    return function() {
+      if (--times < 1) {
+        return func.apply(this, arguments);
       }
-      return obj;
     };
-  };
+  }
 
-  // Extend a given object with all the properties in passed-in object(s).
-  _.extend = createAssigner(_.allKeys);
+  // Returns a function that will only be executed up to (but not including) the
+  // Nth call.
+  function before(times, func) {
+    var memo;
+    return function() {
+      if (--times > 0) {
+        memo = func.apply(this, arguments);
+      }
+      if (times <= 1) func = null;
+      return memo;
+    };
+  }
 
-  // Assigns a given object with all the own properties in the passed-in object(s).
-  // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)
-  _.extendOwn = _.assign = createAssigner(_.keys);
+  // Returns a function that will be executed at most one time, no matter how
+  // often you call it. Useful for lazy initialization.
+  var once = partial(before, 2);
 
-  // Returns the first key on an object that passes a predicate test.
-  _.findKey = function(obj, predicate, context) {
+  // Returns the first key on an object that passes a truth test.
+  function findKey(obj, predicate, context) {
     predicate = cb(predicate, context);
-    var keys = _.keys(obj), key;
-    for (var i = 0, length = keys.length; i < length; i++) {
-      key = keys[i];
+    var _keys = keys(obj), key;
+    for (var i = 0, length = _keys.length; i < length; i++) {
+      key = _keys[i];
       if (predicate(obj[key], key, obj)) return key;
     }
-  };
-
-  // Internal pick helper function to determine if `obj` has key `key`.
-  var keyInObj = function(value, key, obj) {
-    return key in obj;
-  };
-
-  // Return a copy of the object only containing the whitelisted properties.
-  _.pick = restArguments(function(obj, keys) {
-    var result = {}, iteratee = keys[0];
-    if (obj == null) return result;
-    if (_.isFunction(iteratee)) {
-      if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]);
-      keys = _.allKeys(obj);
-    } else {
-      iteratee = keyInObj;
-      keys = flatten(keys, false, false);
-      obj = Object(obj);
-    }
-    for (var i = 0, length = keys.length; i < length; i++) {
-      var key = keys[i];
-      var value = obj[key];
-      if (iteratee(value, key, obj)) result[key] = value;
-    }
-    return result;
-  });
-
-  // Return a copy of the object without the blacklisted properties.
-  _.omit = restArguments(function(obj, keys) {
-    var iteratee = keys[0], context;
-    if (_.isFunction(iteratee)) {
-      iteratee = _.negate(iteratee);
-      if (keys.length > 1) context = keys[1];
-    } else {
-      keys = _.map(flatten(keys, false, false), String);
-      iteratee = function(value, key) {
-        return !_.contains(keys, key);
-      };
-    }
-    return _.pick(obj, iteratee, context);
-  });
-
-  // Fill in a given object with default properties.
-  _.defaults = createAssigner(_.allKeys, true);
+  }
 
-  // Creates an object that inherits from the given prototype object.
-  // If additional properties are provided then they will be added to the
-  // created object.
-  _.create = function(prototype, props) {
-    var result = baseCreate(prototype);
-    if (props) _.extendOwn(result, props);
-    return result;
-  };
+  // Internal function to generate `_.findIndex` and `_.findLastIndex`.
+  function createPredicateIndexFinder(dir) {
+    return function(array, predicate, context) {
+      predicate = cb(predicate, context);
+      var length = getLength(array);
+      var index = dir > 0 ? 0 : length - 1;
+      for (; index >= 0 && index < length; index += dir) {
+        if (predicate(array[index], index, array)) return index;
+      }
+      return -1;
+    };
+  }
 
-  // Create a (shallow-cloned) duplicate of an object.
-  _.clone = function(obj) {
-    if (!_.isObject(obj)) return obj;
-    return _.isArray(obj) ? obj.slice() : _.extend({}, obj);
-  };
+  // Returns the first index on an array-like that passes a truth test.
+  var findIndex = createPredicateIndexFinder(1);
 
-  // Invokes interceptor with the obj, and then returns obj.
-  // The primary purpose of this method is to "tap into" a method chain, in
-  // order to perform operations on intermediate results within the chain.
-  _.tap = function(obj, interceptor) {
-    interceptor(obj);
-    return obj;
-  };
+  // Returns the last index on an array-like that passes a truth test.
+  var findLastIndex = createPredicateIndexFinder(-1);
 
-  // Returns whether an object has a given set of `key:value` pairs.
-  _.isMatch = function(object, attrs) {
-    var keys = _.keys(attrs), length = keys.length;
-    if (object == null) return !length;
-    var obj = Object(object);
-    for (var i = 0; i < length; i++) {
-      var key = keys[i];
-      if (attrs[key] !== obj[key] || !(key in obj)) return false;
+  // Use a comparator function to figure out the smallest index at which
+  // an object should be inserted so as to maintain order. Uses binary search.
+  function sortedIndex(array, obj, iteratee, context) {
+    iteratee = cb(iteratee, context, 1);
+    var value = iteratee(obj);
+    var low = 0, high = getLength(array);
+    while (low < high) {
+      var mid = Math.floor((low + high) / 2);
+      if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;
     }
-    return true;
-  };
-
-
-  // Internal recursive comparison function for `isEqual`.
-  var eq, deepEq;
-  eq = function(a, b, aStack, bStack) {
-    // Identical objects are equal. `0 === -0`, but they aren't identical.
-    // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).
-    if (a === b) return a !== 0 || 1 / a === 1 / b;
-    // `null` or `undefined` only equal to itself (strict comparison).
-    if (a == null || b == null) return false;
-    // `NaN`s are equivalent, but non-reflexive.
-    if (a !== a) return b !== b;
-    // Exhaust primitive checks
-    var type = typeof a;
-    if (type !== 'function' && type !== 'object' && typeof b != 'object') return false;
-    return deepEq(a, b, aStack, bStack);
-  };
+    return low;
+  }
 
-  // Internal recursive comparison function for `isEqual`.
-  deepEq = function(a, b, aStack, bStack) {
-    // Unwrap any wrapped objects.
-    if (a instanceof _) a = a._wrapped;
-    if (b instanceof _) b = b._wrapped;
-    // Compare `[[Class]]` names.
-    var className = toString.call(a);
-    if (className !== toString.call(b)) return false;
-    switch (className) {
-      // Strings, numbers, regular expressions, dates, and booleans are compared by value.
-      case '[object RegExp]':
-      // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')
-      case '[object String]':
-        // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is
-        // equivalent to `new String("5")`.
-        return '' + a === '' + b;
-      case '[object Number]':
-        // `NaN`s are equivalent, but non-reflexive.
-        // Object(NaN) is equivalent to NaN.
-        if (+a !== +a) return +b !== +b;
-        // An `egal` comparison is performed for other numeric values.
-        return +a === 0 ? 1 / +a === 1 / b : +a === +b;
-      case '[object Date]':
-      case '[object Boolean]':
-        // Coerce dates and booleans to numeric primitive values. Dates are compared by their
-        // millisecond representations. Note that invalid dates with millisecond representations
-        // of `NaN` are not equivalent.
-        return +a === +b;
-      case '[object Symbol]':
-        return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b);
-    }
+  // Internal function to generate the `_.indexOf` and `_.lastIndexOf` functions.
+  function createIndexFinder(dir, predicateFind, sortedIndex) {
+    return function(array, item, idx) {
+      var i = 0, length = getLength(array);
+      if (typeof idx == 'number') {
+        if (dir > 0) {
+          i = idx >= 0 ? idx : Math.max(idx + length, i);
+        } else {
+          length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;
+        }
+      } else if (sortedIndex && idx && length) {
+        idx = sortedIndex(array, item);
+        return array[idx] === item ? idx : -1;
+      }
+      if (item !== item) {
+        idx = predicateFind(slice.call(array, i, length), isNaN$1);
+        return idx >= 0 ? idx + i : -1;
+      }
+      for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {
+        if (array[idx] === item) return idx;
+      }
+      return -1;
+    };
+  }
 
-    var areArrays = className === '[object Array]';
-    if (!areArrays) {
-      if (typeof a != 'object' || typeof b != 'object') return false;
+  // Return the position of the first occurrence of an item in an array,
+  // or -1 if the item is not included in the array.
+  // If the array is large and already in sort order, pass `true`
+  // for **isSorted** to use binary search.
+  var indexOf = createIndexFinder(1, findIndex, sortedIndex);
 
-      // Objects with different constructors are not equivalent, but `Object`s or `Array`s
-      // from different frames are.
-      var aCtor = a.constructor, bCtor = b.constructor;
-      if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor &&
-                               _.isFunction(bCtor) && bCtor instanceof bCtor)
-                          && ('constructor' in a && 'constructor' in b)) {
-        return false;
-      }
-    }
-    // Assume equality for cyclic structures. The algorithm for detecting cyclic
-    // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.
+  // Return the position of the last occurrence of an item in an array,
+  // or -1 if the item is not included in the array.
+  var lastIndexOf = createIndexFinder(-1, findLastIndex);
 
-    // Initializing stack of traversed objects.
-    // It's done here since we only need them for objects and arrays comparison.
-    aStack = aStack || [];
-    bStack = bStack || [];
-    var length = aStack.length;
-    while (length--) {
-      // Linear search. Performance is inversely proportional to the number of
-      // unique nested structures.
-      if (aStack[length] === a) return bStack[length] === b;
-    }
+  // Return the first value which passes a truth test.
+  function find(obj, predicate, context) {
+    var keyFinder = isArrayLike(obj) ? findIndex : findKey;
+    var key = keyFinder(obj, predicate, context);
+    if (key !== void 0 && key !== -1) return obj[key];
+  }
 
-    // Add the first object to the stack of traversed objects.
-    aStack.push(a);
-    bStack.push(b);
+  // Convenience version of a common use case of `_.find`: getting the first
+  // object containing specific `key:value` pairs.
+  function findWhere(obj, attrs) {
+    return find(obj, matcher(attrs));
+  }
 
-    // Recursively compare objects and arrays.
-    if (areArrays) {
-      // Compare array lengths to determine if a deep comparison is necessary.
-      length = a.length;
-      if (length !== b.length) return false;
-      // Deep compare the contents, ignoring non-numeric properties.
-      while (length--) {
-        if (!eq(a[length], b[length], aStack, bStack)) return false;
+  // The cornerstone for collection functions, an `each`
+  // implementation, aka `forEach`.
+  // Handles raw objects in addition to array-likes. Treats all
+  // sparse array-likes as if they were dense.
+  function each(obj, iteratee, context) {
+    iteratee = optimizeCb(iteratee, context);
+    var i, length;
+    if (isArrayLike(obj)) {
+      for (i = 0, length = obj.length; i < length; i++) {
+        iteratee(obj[i], i, obj);
       }
     } else {
-      // Deep compare objects.
-      var keys = _.keys(a), key;
-      length = keys.length;
-      // Ensure that both objects contain the same number of properties before comparing deep equality.
-      if (_.keys(b).length !== length) return false;
-      while (length--) {
-        // Deep compare each member
-        key = keys[length];
-        if (!(has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;
+      var _keys = keys(obj);
+      for (i = 0, length = _keys.length; i < length; i++) {
+        iteratee(obj[_keys[i]], _keys[i], obj);
       }
     }
-    // Remove the first object from the stack of traversed objects.
-    aStack.pop();
-    bStack.pop();
-    return true;
-  };
-
-  // Perform a deep comparison to check if two objects are equal.
-  _.isEqual = function(a, b) {
-    return eq(a, b);
-  };
-
-  // Is a given array, string, or object empty?
-  // An "empty" object has no enumerable own-properties.
-  _.isEmpty = function(obj) {
-    if (obj == null) return true;
-    if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0;
-    return _.keys(obj).length === 0;
-  };
-
-  // Is a given value a DOM element?
-  _.isElement = function(obj) {
-    return !!(obj && obj.nodeType === 1);
-  };
-
-  // Is a given value an array?
-  // Delegates to ECMA5's native Array.isArray
-  _.isArray = nativeIsArray || function(obj) {
-    return toString.call(obj) === '[object Array]';
-  };
+    return obj;
+  }
 
-  // Is a given variable an object?
-  _.isObject = function(obj) {
-    var type = typeof obj;
-    return type === 'function' || type === 'object' && !!obj;
-  };
+  // Return the results of applying the iteratee to each element.
+  function map(obj, iteratee, context) {
+    iteratee = cb(iteratee, context);
+    var _keys = !isArrayLike(obj) && keys(obj),
+        length = (_keys || obj).length,
+        results = Array(length);
+    for (var index = 0; index < length; index++) {
+      var currentKey = _keys ? _keys[index] : index;
+      results[index] = iteratee(obj[currentKey], currentKey, obj);
+    }
+    return results;
+  }
 
-  // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError, isMap, isWeakMap, isSet, isWeakSet.
-  _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error', 'Symbol', 'Map', 'WeakMap', 'Set', 'WeakSet'], function(name) {
-    _['is' + name] = function(obj) {
-      return toString.call(obj) === '[object ' + name + ']';
+  // Internal helper to create a reducing function, iterating left or right.
+  function createReduce(dir) {
+    // Wrap code that reassigns argument variables in a separate function than
+    // the one that accesses `arguments.length` to avoid a perf hit. (#1991)
+    var reducer = function(obj, iteratee, memo, initial) {
+      var _keys = !isArrayLike(obj) && keys(obj),
+          length = (_keys || obj).length,
+          index = dir > 0 ? 0 : length - 1;
+      if (!initial) {
+        memo = obj[_keys ? _keys[index] : index];
+        index += dir;
+      }
+      for (; index >= 0 && index < length; index += dir) {
+        var currentKey = _keys ? _keys[index] : index;
+        memo = iteratee(memo, obj[currentKey], currentKey, obj);
+      }
+      return memo;
     };
-  });
 
-  // Define a fallback version of the method in browsers (ahem, IE < 9), where
-  // there isn't any inspectable "Arguments" type.
-  if (!_.isArguments(arguments)) {
-    _.isArguments = function(obj) {
-      return has(obj, 'callee');
+    return function(obj, iteratee, memo, context) {
+      var initial = arguments.length >= 3;
+      return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial);
     };
   }
 
-  // Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8,
-  // IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236).
-  var nodelist = root.document && root.document.childNodes;
-  if (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') {
-    _.isFunction = function(obj) {
-      return typeof obj == 'function' || false;
-    };
-  }
+  // **Reduce** builds up a single result from a list of values, aka `inject`,
+  // or `foldl`.
+  var reduce = createReduce(1);
 
-  // Is a given object a finite number?
-  _.isFinite = function(obj) {
-    return !_.isSymbol(obj) && isFinite(obj) && !isNaN(parseFloat(obj));
-  };
+  // The right-associative version of reduce, also known as `foldr`.
+  var reduceRight = createReduce(-1);
 
-  // Is the given value `NaN`?
-  _.isNaN = function(obj) {
-    return _.isNumber(obj) && isNaN(obj);
-  };
+  // Return all the elements that pass a truth test.
+  function filter(obj, predicate, context) {
+    var results = [];
+    predicate = cb(predicate, context);
+    each(obj, function(value, index, list) {
+      if (predicate(value, index, list)) results.push(value);
+    });
+    return results;
+  }
 
-  // Is a given value a boolean?
-  _.isBoolean = function(obj) {
-    return obj === true || obj === false || toString.call(obj) === '[object Boolean]';
-  };
+  // Return all the elements for which a truth test fails.
+  function reject(obj, predicate, context) {
+    return filter(obj, negate(cb(predicate)), context);
+  }
 
-  // Is a given value equal to null?
-  _.isNull = function(obj) {
-    return obj === null;
-  };
+  // Determine whether all of the elements pass a truth test.
+  function every(obj, predicate, context) {
+    predicate = cb(predicate, context);
+    var _keys = !isArrayLike(obj) && keys(obj),
+        length = (_keys || obj).length;
+    for (var index = 0; index < length; index++) {
+      var currentKey = _keys ? _keys[index] : index;
+      if (!predicate(obj[currentKey], currentKey, obj)) return false;
+    }
+    return true;
+  }
 
-  // Is a given variable undefined?
-  _.isUndefined = function(obj) {
-    return obj === void 0;
-  };
+  // Determine if at least one element in the object passes a truth test.
+  function some(obj, predicate, context) {
+    predicate = cb(predicate, context);
+    var _keys = !isArrayLike(obj) && keys(obj),
+        length = (_keys || obj).length;
+    for (var index = 0; index < length; index++) {
+      var currentKey = _keys ? _keys[index] : index;
+      if (predicate(obj[currentKey], currentKey, obj)) return true;
+    }
+    return false;
+  }
 
-  // Shortcut function for checking if an object has a given property directly
-  // on itself (in other words, not on a prototype).
-  _.has = function(obj, path) {
-    if (!_.isArray(path)) {
-      return has(obj, path);
+  // Determine if the array or object contains a given item (using `===`).
+  function contains(obj, item, fromIndex, guard) {
+    if (!isArrayLike(obj)) obj = values(obj);
+    if (typeof fromIndex != 'number' || guard) fromIndex = 0;
+    return indexOf(obj, item, fromIndex) >= 0;
+  }
+
+  // Invoke a method (with arguments) on every item in a collection.
+  var invoke = restArguments(function(obj, path, args) {
+    var contextPath, func;
+    if (isFunction$1(path)) {
+      func = path;
+    } else {
+      path = toPath(path);
+      contextPath = path.slice(0, -1);
+      path = path[path.length - 1];
     }
-    var length = path.length;
-    for (var i = 0; i < length; i++) {
-      var key = path[i];
-      if (obj == null || !hasOwnProperty.call(obj, key)) {
-        return false;
+    return map(obj, function(context) {
+      var method = func;
+      if (!method) {
+        if (contextPath && contextPath.length) {
+          context = deepGet(context, contextPath);
+        }
+        if (context == null) return void 0;
+        method = context[path];
       }
-      obj = obj[key];
-    }
-    return !!length;
-  };
-
-  // Utility Functions
-  // -----------------
+      return method == null ? method : method.apply(context, args);
+    });
+  });
 
-  // Run Underscore.js in *noConflict* mode, returning the `_` variable to its
-  // previous owner. Returns a reference to the Underscore object.
-  _.noConflict = function() {
-    root._ = previousUnderscore;
-    return this;
-  };
+  // Convenience version of a common use case of `_.map`: fetching a property.
+  function pluck(obj, key) {
+    return map(obj, property(key));
+  }
 
-  // Keep the identity function around for default iteratees.
-  _.identity = function(value) {
-    return value;
-  };
+  // Convenience version of a common use case of `_.filter`: selecting only
+  // objects containing specific `key:value` pairs.
+  function where(obj, attrs) {
+    return filter(obj, matcher(attrs));
+  }
 
-  // Predicate-generating functions. Often useful outside of Underscore.
-  _.constant = function(value) {
-    return function() {
-      return value;
-    };
-  };
+  // Return the maximum element (or element-based computation).
+  function max(obj, iteratee, context) {
+    var result = -Infinity, lastComputed = -Infinity,
+        value, computed;
+    if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) {
+      obj = isArrayLike(obj) ? obj : values(obj);
+      for (var i = 0, length = obj.length; i < length; i++) {
+        value = obj[i];
+        if (value != null && value > result) {
+          result = value;
+        }
+      }
+    } else {
+      iteratee = cb(iteratee, context);
+      each(obj, function(v, index, list) {
+        computed = iteratee(v, index, list);
+        if (computed > lastComputed || (computed === -Infinity && result === -Infinity)) {
+          result = v;
+          lastComputed = computed;
+        }
+      });
+    }
+    return result;
+  }
 
-  _.noop = function(){};
+  // Return the minimum element (or element-based computation).
+  function min(obj, iteratee, context) {
+    var result = Infinity, lastComputed = Infinity,
+        value, computed;
+    if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) {
+      obj = isArrayLike(obj) ? obj : values(obj);
+      for (var i = 0, length = obj.length; i < length; i++) {
+        value = obj[i];
+        if (value != null && value < result) {
+          result = value;
+        }
+      }
+    } else {
+      iteratee = cb(iteratee, context);
+      each(obj, function(v, index, list) {
+        computed = iteratee(v, index, list);
+        if (computed < lastComputed || (computed === Infinity && result === Infinity)) {
+          result = v;
+          lastComputed = computed;
+        }
+      });
+    }
+    return result;
+  }
 
-  // Creates a function that, when passed an object, will traverse that object’s
-  // properties down the given `path`, specified as an array of keys or indexes.
-  _.property = function(path) {
-    if (!_.isArray(path)) {
-      return shallowProperty(path);
+  // Safely create a real, live array from anything iterable.
+  var reStrSymbol = /[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;
+  function toArray(obj) {
+    if (!obj) return [];
+    if (isArray(obj)) return slice.call(obj);
+    if (isString(obj)) {
+      // Keep surrogate pair characters together.
+      return obj.match(reStrSymbol);
     }
-    return function(obj) {
-      return deepGet(obj, path);
-    };
-  };
+    if (isArrayLike(obj)) return map(obj, identity);
+    return values(obj);
+  }
 
-  // Generates a function for a given object that returns a given property.
-  _.propertyOf = function(obj) {
-    if (obj == null) {
-      return function(){};
+  // Sample **n** random values from a collection using the modern version of the
+  // [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher–Yates_shuffle).
+  // If **n** is not specified, returns a single random element.
+  // The internal `guard` argument allows it to work with `_.map`.
+  function sample(obj, n, guard) {
+    if (n == null || guard) {
+      if (!isArrayLike(obj)) obj = values(obj);
+      return obj[random(obj.length - 1)];
     }
-    return function(path) {
-      return !_.isArray(path) ? obj[path] : deepGet(obj, path);
-    };
-  };
+    var sample = toArray(obj);
+    var length = getLength(sample);
+    n = Math.max(Math.min(n, length), 0);
+    var last = length - 1;
+    for (var index = 0; index < n; index++) {
+      var rand = random(index, last);
+      var temp = sample[index];
+      sample[index] = sample[rand];
+      sample[rand] = temp;
+    }
+    return sample.slice(0, n);
+  }
 
-  // Returns a predicate for checking whether an object has a given set of
-  // `key:value` pairs.
-  _.matcher = _.matches = function(attrs) {
-    attrs = _.extendOwn({}, attrs);
-    return function(obj) {
-      return _.isMatch(obj, attrs);
-    };
-  };
+  // Shuffle a collection.
+  function shuffle(obj) {
+    return sample(obj, Infinity);
+  }
 
-  // Run a function **n** times.
-  _.times = function(n, iteratee, context) {
-    var accum = Array(Math.max(0, n));
-    iteratee = optimizeCb(iteratee, context, 1);
-    for (var i = 0; i < n; i++) accum[i] = iteratee(i);
-    return accum;
-  };
+  // Sort the object's values by a criterion produced by an iteratee.
+  function sortBy(obj, iteratee, context) {
+    var index = 0;
+    iteratee = cb(iteratee, context);
+    return pluck(map(obj, function(value, key, list) {
+      return {
+        value: value,
+        index: index++,
+        criteria: iteratee(value, key, list)
+      };
+    }).sort(function(left, right) {
+      var a = left.criteria;
+      var b = right.criteria;
+      if (a !== b) {
+        if (a > b || a === void 0) return 1;
+        if (a < b || b === void 0) return -1;
+      }
+      return left.index - right.index;
+    }), 'value');
+  }
 
-  // Return a random integer between min and max (inclusive).
-  _.random = function(min, max) {
-    if (max == null) {
-      max = min;
-      min = 0;
-    }
-    return min + Math.floor(Math.random() * (max - min + 1));
-  };
+  // An internal function used for aggregate "group by" operations.
+  function group(behavior, partition) {
+    return function(obj, iteratee, context) {
+      var result = partition ? [[], []] : {};
+      iteratee = cb(iteratee, context);
+      each(obj, function(value, index) {
+        var key = iteratee(value, index, obj);
+        behavior(result, value, key);
+      });
+      return result;
+    };
+  }
 
-  // A (possibly faster) way to get the current timestamp as an integer.
-  _.now = Date.now || function() {
-    return new Date().getTime();
-  };
+  // Groups the object's values by a criterion. Pass either a string attribute
+  // to group by, or a function that returns the criterion.
+  var groupBy = group(function(result, value, key) {
+    if (has$1(result, key)) result[key].push(value); else result[key] = [value];
+  });
 
-  // List of HTML entities for escaping.
-  var escapeMap = {
-    '&': '&amp;',
-    '<': '&lt;',
-    '>': '&gt;',
-    '"': '&quot;',
-    "'": '&#x27;',
-    '`': '&#x60;'
-  };
-  var unescapeMap = _.invert(escapeMap);
+  // Indexes the object's values by a criterion, similar to `_.groupBy`, but for
+  // when you know that your index values will be unique.
+  var indexBy = group(function(result, value, key) {
+    result[key] = value;
+  });
 
-  // Functions for escaping and unescaping strings to/from HTML interpolation.
-  var createEscaper = function(map) {
-    var escaper = function(match) {
-      return map[match];
-    };
-    // Regexes for identifying a key that needs to be escaped.
-    var source = '(?:' + _.keys(map).join('|') + ')';
-    var testRegexp = RegExp(source);
-    var replaceRegexp = RegExp(source, 'g');
-    return function(string) {
-      string = string == null ? '' : '' + string;
-      return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;
-    };
-  };
-  _.escape = createEscaper(escapeMap);
-  _.unescape = createEscaper(unescapeMap);
+  // Counts instances of an object that group by a certain criterion. Pass
+  // either a string attribute to count by, or a function that returns the
+  // criterion.
+  var countBy = group(function(result, value, key) {
+    if (has$1(result, key)) result[key]++; else result[key] = 1;
+  });
+
+  // Split a collection into two arrays: one whose elements all pass the given
+  // truth test, and one whose elements all do not pass the truth test.
+  var partition = group(function(result, value, pass) {
+    result[pass ? 0 : 1].push(value);
+  }, true);
 
-  // Traverses the children of `obj` along `path`. If a child is a function, it
-  // is invoked with its parent as context. Returns the value of the final
-  // child, or `fallback` if any child is undefined.
-  _.result = function(obj, path, fallback) {
-    if (!_.isArray(path)) path = [path];
-    var length = path.length;
-    if (!length) {
-      return _.isFunction(fallback) ? fallback.call(obj) : fallback;
+  // Return the number of elements in a collection.
+  function size(obj) {
+    if (obj == null) return 0;
+    return isArrayLike(obj) ? obj.length : keys(obj).length;
+  }
+
+  // Internal `_.pick` helper function to determine whether `key` is an enumerable
+  // property name of `obj`.
+  function keyInObj(value, key, obj) {
+    return key in obj;
+  }
+
+  // Return a copy of the object only containing the allowed properties.
+  var pick = restArguments(function(obj, keys) {
+    var result = {}, iteratee = keys[0];
+    if (obj == null) return result;
+    if (isFunction$1(iteratee)) {
+      if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]);
+      keys = allKeys(obj);
+    } else {
+      iteratee = keyInObj;
+      keys = flatten$1(keys, false, false);
+      obj = Object(obj);
     }
-    for (var i = 0; i < length; i++) {
-      var prop = obj == null ? void 0 : obj[path[i]];
-      if (prop === void 0) {
-        prop = fallback;
-        i = length; // Ensure we don't continue iterating.
-      }
-      obj = _.isFunction(prop) ? prop.call(obj) : prop;
+    for (var i = 0, length = keys.length; i < length; i++) {
+      var key = keys[i];
+      var value = obj[key];
+      if (iteratee(value, key, obj)) result[key] = value;
     }
-    return obj;
-  };
+    return result;
+  });
 
-  // Generate a unique integer id (unique within the entire client session).
-  // Useful for temporary DOM ids.
-  var idCounter = 0;
-  _.uniqueId = function(prefix) {
-    var id = ++idCounter + '';
-    return prefix ? prefix + id : id;
-  };
+  // Return a copy of the object without the disallowed properties.
+  var omit = restArguments(function(obj, keys) {
+    var iteratee = keys[0], context;
+    if (isFunction$1(iteratee)) {
+      iteratee = negate(iteratee);
+      if (keys.length > 1) context = keys[1];
+    } else {
+      keys = map(flatten$1(keys, false, false), String);
+      iteratee = function(value, key) {
+        return !contains(keys, key);
+      };
+    }
+    return pick(obj, iteratee, context);
+  });
 
-  // By default, Underscore uses ERB-style template delimiters, change the
-  // following template settings to use alternative delimiters.
-  _.templateSettings = {
-    evaluate: /<%([\s\S]+?)%>/g,
-    interpolate: /<%=([\s\S]+?)%>/g,
-    escape: /<%-([\s\S]+?)%>/g
-  };
+  // Returns everything but the last entry of the array. Especially useful on
+  // the arguments object. Passing **n** will return all the values in
+  // the array, excluding the last N.
+  function initial(array, n, guard) {
+    return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));
+  }
 
-  // When customizing `templateSettings`, if you don't want to define an
-  // interpolation, evaluation or escaping regex, we need one that is
-  // guaranteed not to match.
-  var noMatch = /(.)^/;
+  // Get the first element of an array. Passing **n** will return the first N
+  // values in the array. The **guard** check allows it to work with `_.map`.
+  function first(array, n, guard) {
+    if (array == null || array.length < 1) return n == null || guard ? void 0 : [];
+    if (n == null || guard) return array[0];
+    return initial(array, array.length - n);
+  }
 
-  // Certain characters need to be escaped so that they can be put into a
-  // string literal.
-  var escapes = {
-    "'": "'",
-    '\\': '\\',
-    '\r': 'r',
-    '\n': 'n',
-    '\u2028': 'u2028',
-    '\u2029': 'u2029'
-  };
+  // Returns everything but the first entry of the `array`. Especially useful on
+  // the `arguments` object. Passing an **n** will return the rest N values in the
+  // `array`.
+  function rest(array, n, guard) {
+    return slice.call(array, n == null || guard ? 1 : n);
+  }
 
-  var escapeRegExp = /\\|'|\r|\n|\u2028|\u2029/g;
+  // Get the last element of an array. Passing **n** will return the last N
+  // values in the array.
+  function last(array, n, guard) {
+    if (array == null || array.length < 1) return n == null || guard ? void 0 : [];
+    if (n == null || guard) return array[array.length - 1];
+    return rest(array, Math.max(0, array.length - n));
+  }
 
-  var escapeChar = function(match) {
-    return '\\' + escapes[match];
-  };
+  // Trim out all falsy values from an array.
+  function compact(array) {
+    return filter(array, Boolean);
+  }
 
-  // In order to prevent third-party code injection through
-  // `_.templateSettings.variable`, we test it against the following regular
-  // expression. It is intentionally a bit more liberal than just matching valid
-  // identifiers, but still prevents possible loopholes through defaults or
-  // destructuring assignment.
-  var bareIdentifier = /^\s*(\w|\$)+\s*$/;
+  // Flatten out an array, either recursively (by default), or up to `depth`.
+  // Passing `true` or `false` as `depth` means `1` or `Infinity`, respectively.
+  function flatten(array, depth) {
+    return flatten$1(array, depth, false);
+  }
 
-  // JavaScript micro-templating, similar to John Resig's implementation.
-  // Underscore templating handles arbitrary delimiters, preserves whitespace,
-  // and correctly escapes quotes within interpolated code.
-  // NB: `oldSettings` only exists for backwards compatibility.
-  _.template = function(text, settings, oldSettings) {
-    if (!settings && oldSettings) settings = oldSettings;
-    settings = _.defaults({}, settings, _.templateSettings);
+  // Take the difference between one array and a number of other arrays.
+  // Only the elements present in just the first array will remain.
+  var difference = restArguments(function(array, rest) {
+    rest = flatten$1(rest, true, true);
+    return filter(array, function(value){
+      return !contains(rest, value);
+    });
+  });
 
-    // Combine delimiters into one regular expression via alternation.
-    var matcher = RegExp([
-      (settings.escape || noMatch).source,
-      (settings.interpolate || noMatch).source,
-      (settings.evaluate || noMatch).source
-    ].join('|') + '|$', 'g');
+  // Return a version of the array that does not contain the specified value(s).
+  var without = restArguments(function(array, otherArrays) {
+    return difference(array, otherArrays);
+  });
 
-    // Compile the template source, escaping string literals appropriately.
-    var index = 0;
-    var source = "__p+='";
-    text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {
-      source += text.slice(index, offset).replace(escapeRegExp, escapeChar);
-      index = offset + match.length;
+  // Produce a duplicate-free version of the array. If the array has already
+  // been sorted, you have the option of using a faster algorithm.
+  // The faster algorithm will not work with an iteratee if the iteratee
+  // is not a one-to-one function, so providing an iteratee will disable
+  // the faster algorithm.
+  function uniq(array, isSorted, iteratee, context) {
+    if (!isBoolean(isSorted)) {
+      context = iteratee;
+      iteratee = isSorted;
+      isSorted = false;
+    }
+    if (iteratee != null) iteratee = cb(iteratee, context);
+    var result = [];
+    var seen = [];
+    for (var i = 0, length = getLength(array); i < length; i++) {
+      var value = array[i],
+          computed = iteratee ? iteratee(value, i, array) : value;
+      if (isSorted && !iteratee) {
+        if (!i || seen !== computed) result.push(value);
+        seen = computed;
+      } else if (iteratee) {
+        if (!contains(seen, computed)) {
+          seen.push(computed);
+          result.push(value);
+        }
+      } else if (!contains(result, value)) {
+        result.push(value);
+      }
+    }
+    return result;
+  }
 
-      if (escape) {
-        source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'";
-      } else if (interpolate) {
-        source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'";
-      } else if (evaluate) {
-        source += "';\n" + evaluate + "\n__p+='";
+  // Produce an array that contains the union: each distinct element from all of
+  // the passed-in arrays.
+  var union = restArguments(function(arrays) {
+    return uniq(flatten$1(arrays, true, true));
+  });
+
+  // Produce an array that contains every item shared between all the
+  // passed-in arrays.
+  function intersection(array) {
+    var result = [];
+    var argsLength = arguments.length;
+    for (var i = 0, length = getLength(array); i < length; i++) {
+      var item = array[i];
+      if (contains(result, item)) continue;
+      var j;
+      for (j = 1; j < argsLength; j++) {
+        if (!contains(arguments[j], item)) break;
       }
+      if (j === argsLength) result.push(item);
+    }
+    return result;
+  }
 
-      // Adobe VMs need the match returned to produce the correct offset.
-      return match;
-    });
-    source += "';\n";
+  // Complement of zip. Unzip accepts an array of arrays and groups
+  // each array's elements on shared indices.
+  function unzip(array) {
+    var length = (array && max(array, getLength).length) || 0;
+    var result = Array(length);
 
-    var argument = settings.variable;
-    if (argument) {
-      // Insure against third-party code injection.
-      if (!bareIdentifier.test(argument)) throw new Error(
-        'variable is not a bare identifier: ' + argument
-      );
-    } else {
-      // If a variable is not specified, place data values in local scope.
-      source = 'with(obj||{}){\n' + source + '}\n';
-      argument = 'obj';
+    for (var index = 0; index < length; index++) {
+      result[index] = pluck(array, index);
     }
+    return result;
+  }
 
-    source = "var __t,__p='',__j=Array.prototype.join," +
-      "print=function(){__p+=__j.call(arguments,'');};\n" +
-      source + 'return __p;\n';
+  // Zip together multiple lists into a single array -- elements that share
+  // an index go together.
+  var zip = restArguments(unzip);
 
-    var render;
-    try {
-      render = new Function(argument, '_', source);
-    } catch (e) {
-      e.source = source;
-      throw e;
+  // Converts lists into objects. Pass either a single array of `[key, value]`
+  // pairs, or two parallel arrays of the same length -- one of keys, and one of
+  // the corresponding values. Passing by pairs is the reverse of `_.pairs`.
+  function object(list, values) {
+    var result = {};
+    for (var i = 0, length = getLength(list); i < length; i++) {
+      if (values) {
+        result[list[i]] = values[i];
+      } else {
+        result[list[i][0]] = list[i][1];
+      }
     }
+    return result;
+  }
 
-    var template = function(data) {
-      return render.call(this, data, _);
-    };
+  // Generate an integer Array containing an arithmetic progression. A port of
+  // the native Python `range()` function. See
+  // [the Python documentation](https://docs.python.org/library/functions.html#range).
+  function range(start, stop, step) {
+    if (stop == null) {
+      stop = start || 0;
+      start = 0;
+    }
+    if (!step) {
+      step = stop < start ? -1 : 1;
+    }
 
-    // Provide the compiled source as a convenience for precompilation.
-    template.source = 'function(' + argument + '){\n' + source + '}';
+    var length = Math.max(Math.ceil((stop - start) / step), 0);
+    var range = Array(length);
 
-    return template;
-  };
+    for (var idx = 0; idx < length; idx++, start += step) {
+      range[idx] = start;
+    }
 
-  // Add a "chain" function. Start chaining a wrapped Underscore object.
-  _.chain = function(obj) {
-    var instance = _(obj);
-    instance._chain = true;
-    return instance;
-  };
+    return range;
+  }
 
-  // OOP
-  // ---------------
-  // If Underscore is called as a function, it returns a wrapped object that
-  // can be used OO-style. This wrapper holds altered versions of all the
-  // underscore functions. Wrapped objects may be chained.
+  // Chunk a single array into multiple arrays, each containing `count` or fewer
+  // items.
+  function chunk(array, count) {
+    if (count == null || count < 1) return [];
+    var result = [];
+    var i = 0, length = array.length;
+    while (i < length) {
+      result.push(slice.call(array, i, i += count));
+    }
+    return result;
+  }
 
   // Helper function to continue chaining intermediate results.
-  var chainResult = function(instance, obj) {
-    return instance._chain ? _(obj).chain() : obj;
-  };
+  function chainResult(instance, obj) {
+    return instance._chain ? _$1(obj).chain() : obj;
+  }
 
   // Add your own custom functions to the Underscore object.
-  _.mixin = function(obj) {
-    _.each(_.functions(obj), function(name) {
-      var func = _[name] = obj[name];
-      _.prototype[name] = function() {
+  function mixin(obj) {
+    each(functions(obj), function(name) {
+      var func = _$1[name] = obj[name];
+      _$1.prototype[name] = function() {
         var args = [this._wrapped];
         push.apply(args, arguments);
-        return chainResult(this, func.apply(_, args));
+        return chainResult(this, func.apply(_$1, args));
       };
     });
-    return _;
-  };
-
-  // Add all of the Underscore functions to the wrapper object.
-  _.mixin(_);
+    return _$1;
+  }
 
-  // Add all mutator Array functions to the wrapper.
-  _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {
+  // Add all mutator `Array` functions to the wrapper.
+  each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {
     var method = ArrayProto[name];
-    _.prototype[name] = function() {
+    _$1.prototype[name] = function() {
       var obj = this._wrapped;
-      method.apply(obj, arguments);
-      if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0];
+      if (obj != null) {
+        method.apply(obj, arguments);
+        if ((name === 'shift' || name === 'splice') && obj.length === 0) {
+          delete obj[0];
+        }
+      }
       return chainResult(this, obj);
     };
   });
 
-  // Add all accessor Array functions to the wrapper.
-  _.each(['concat', 'join', 'slice'], function(name) {
+  // Add all accessor `Array` functions to the wrapper.
+  each(['concat', 'join', 'slice'], function(name) {
     var method = ArrayProto[name];
-    _.prototype[name] = function() {
-      return chainResult(this, method.apply(this._wrapped, arguments));
+    _$1.prototype[name] = function() {
+      var obj = this._wrapped;
+      if (obj != null) obj = method.apply(obj, arguments);
+      return chainResult(this, obj);
     };
   });
 
-  // Extracts the result from a wrapped and chained object.
-  _.prototype.value = function() {
-    return this._wrapped;
-  };
+  // Named Exports
+
+  var allExports = {
+    __proto__: null,
+    VERSION: VERSION,
+    restArguments: restArguments,
+    isObject: isObject,
+    isNull: isNull,
+    isUndefined: isUndefined,
+    isBoolean: isBoolean,
+    isElement: isElement,
+    isString: isString,
+    isNumber: isNumber,
+    isDate: isDate,
+    isRegExp: isRegExp,
+    isError: isError,
+    isSymbol: isSymbol,
+    isArrayBuffer: isArrayBuffer,
+    isDataView: isDataView$1,
+    isArray: isArray,
+    isFunction: isFunction$1,
+    isArguments: isArguments$1,
+    isFinite: isFinite$1,
+    isNaN: isNaN$1,
+    isTypedArray: isTypedArray$1,
+    isEmpty: isEmpty,
+    isMatch: isMatch,
+    isEqual: isEqual,
+    isMap: isMap,
+    isWeakMap: isWeakMap,
+    isSet: isSet,
+    isWeakSet: isWeakSet,
+    keys: keys,
+    allKeys: allKeys,
+    values: values,
+    pairs: pairs,
+    invert: invert,
+    functions: functions,
+    methods: functions,
+    extend: extend,
+    extendOwn: extendOwn,
+    assign: extendOwn,
+    defaults: defaults,
+    create: create,
+    clone: clone,
+    tap: tap,
+    get: get,
+    has: has,
+    mapObject: mapObject,
+    identity: identity,
+    constant: constant,
+    noop: noop,
+    toPath: toPath$1,
+    property: property,
+    propertyOf: propertyOf,
+    matcher: matcher,
+    matches: matcher,
+    times: times,
+    random: random,
+    now: now,
+    escape: _escape,
+    unescape: _unescape,
+    templateSettings: templateSettings,
+    template: template,
+    result: result,
+    uniqueId: uniqueId,
+    chain: chain,
+    iteratee: iteratee,
+    partial: partial,
+    bind: bind,
+    bindAll: bindAll,
+    memoize: memoize,
+    delay: delay,
+    defer: defer,
+    throttle: throttle,
+    debounce: debounce,
+    wrap: wrap,
+    negate: negate,
+    compose: compose,
+    after: after,
+    before: before,
+    once: once,
+    findKey: findKey,
+    findIndex: findIndex,
+    findLastIndex: findLastIndex,
+    sortedIndex: sortedIndex,
+    indexOf: indexOf,
+    lastIndexOf: lastIndexOf,
+    find: find,
+    detect: find,
+    findWhere: findWhere,
+    each: each,
+    forEach: each,
+    map: map,
+    collect: map,
+    reduce: reduce,
+    foldl: reduce,
+    inject: reduce,
+    reduceRight: reduceRight,
+    foldr: reduceRight,
+    filter: filter,
+    select: filter,
+    reject: reject,
+    every: every,
+    all: every,
+    some: some,
+    any: some,
+    contains: contains,
+    includes: contains,
+    include: contains,
+    invoke: invoke,
+    pluck: pluck,
+    where: where,
+    max: max,
+    min: min,
+    shuffle: shuffle,
+    sample: sample,
+    sortBy: sortBy,
+    groupBy: groupBy,
+    indexBy: indexBy,
+    countBy: countBy,
+    partition: partition,
+    toArray: toArray,
+    size: size,
+    pick: pick,
+    omit: omit,
+    first: first,
+    head: first,
+    take: first,
+    initial: initial,
+    last: last,
+    rest: rest,
+    tail: rest,
+    drop: rest,
+    compact: compact,
+    flatten: flatten,
+    without: without,
+    uniq: uniq,
+    unique: uniq,
+    union: union,
+    intersection: intersection,
+    difference: difference,
+    unzip: unzip,
+    transpose: unzip,
+    zip: zip,
+    object: object,
+    range: range,
+    chunk: chunk,
+    mixin: mixin,
+    'default': _$1
+  };
+
+  // Default Export
 
-  // Provide unwrapping proxy for some methods used in engine operations
-  // such as arithmetic and JSON stringification.
-  _.prototype.valueOf = _.prototype.toJSON = _.prototype.value;
+  // Add all of the Underscore functions to the wrapper object.
+  var _ = mixin(allExports);
+  // Legacy Node.js API.
+  _._ = _;
 
-  _.prototype.toString = function() {
-    return String(this._wrapped);
-  };
+  return _;
 
-  // AMD registration happens at the end for compatibility with AMD loaders
-  // that may not enforce next-turn semantics on modules. Even though general
-  // practice for AMD registration is to be anonymous, underscore registers
-  // as a named module because, like jQuery, it is a base library that is
-  // popular enough to be bundled in a third party lib, but not be part of
-  // an AMD load request. Those cases could generate an error when an
-  // anonymous define() is called outside of a loader request.
-  if (typeof define == 'function' && define.amd) {
-    define('underscore', [], function() {
-      return _;
-    });
-  }
-}());
+})));
+//# sourceMappingURL=underscore-umd.js.map
diff --git a/doc/html/_static/up-pressed.png b/doc/html/_static/up-pressed.png
deleted file mode 100644
index acee3b68efbbfb9de3bfa73fce2531380f4bd820..0000000000000000000000000000000000000000
Binary files a/doc/html/_static/up-pressed.png and /dev/null differ
diff --git a/doc/html/_static/up.png b/doc/html/_static/up.png
deleted file mode 100644
index 2a940a7da7c14e6a36901e83306849ba7efad4d4..0000000000000000000000000000000000000000
Binary files a/doc/html/_static/up.png and /dev/null differ
diff --git a/doc/html/_static/websupport.js b/doc/html/_static/websupport.js
deleted file mode 100644
index 3b4999ebf2ee4d35d8bbe05dc6636c3f64b2dfa8..0000000000000000000000000000000000000000
--- a/doc/html/_static/websupport.js
+++ /dev/null
@@ -1,808 +0,0 @@
-/*
- * websupport.js
- * ~~~~~~~~~~~~~
- *
- * sphinx.websupport utilities for all documentation.
- *
- * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
- * :license: BSD, see LICENSE for details.
- *
- */
-
-(function($) {
-  $.fn.autogrow = function() {
-    return this.each(function() {
-    var textarea = this;
-
-    $.fn.autogrow.resize(textarea);
-
-    $(textarea)
-      .focus(function() {
-        textarea.interval = setInterval(function() {
-          $.fn.autogrow.resize(textarea);
-        }, 500);
-      })
-      .blur(function() {
-        clearInterval(textarea.interval);
-      });
-    });
-  };
-
-  $.fn.autogrow.resize = function(textarea) {
-    var lineHeight = parseInt($(textarea).css('line-height'), 10);
-    var lines = textarea.value.split('\n');
-    var columns = textarea.cols;
-    var lineCount = 0;
-    $.each(lines, function() {
-      lineCount += Math.ceil(this.length / columns) || 1;
-    });
-    var height = lineHeight * (lineCount + 1);
-    $(textarea).css('height', height);
-  };
-})(jQuery);
-
-(function($) {
-  var comp, by;
-
-  function init() {
-    initEvents();
-    initComparator();
-  }
-
-  function initEvents() {
-    $(document).on("click", 'a.comment-close', function(event) {
-      event.preventDefault();
-      hide($(this).attr('id').substring(2));
-    });
-    $(document).on("click", 'a.vote', function(event) {
-      event.preventDefault();
-      handleVote($(this));
-    });
-    $(document).on("click", 'a.reply', function(event) {
-      event.preventDefault();
-      openReply($(this).attr('id').substring(2));
-    });
-    $(document).on("click", 'a.close-reply', function(event) {
-      event.preventDefault();
-      closeReply($(this).attr('id').substring(2));
-    });
-    $(document).on("click", 'a.sort-option', function(event) {
-      event.preventDefault();
-      handleReSort($(this));
-    });
-    $(document).on("click", 'a.show-proposal', function(event) {
-      event.preventDefault();
-      showProposal($(this).attr('id').substring(2));
-    });
-    $(document).on("click", 'a.hide-proposal', function(event) {
-      event.preventDefault();
-      hideProposal($(this).attr('id').substring(2));
-    });
-    $(document).on("click", 'a.show-propose-change', function(event) {
-      event.preventDefault();
-      showProposeChange($(this).attr('id').substring(2));
-    });
-    $(document).on("click", 'a.hide-propose-change', function(event) {
-      event.preventDefault();
-      hideProposeChange($(this).attr('id').substring(2));
-    });
-    $(document).on("click", 'a.accept-comment', function(event) {
-      event.preventDefault();
-      acceptComment($(this).attr('id').substring(2));
-    });
-    $(document).on("click", 'a.delete-comment', function(event) {
-      event.preventDefault();
-      deleteComment($(this).attr('id').substring(2));
-    });
-    $(document).on("click", 'a.comment-markup', function(event) {
-      event.preventDefault();
-      toggleCommentMarkupBox($(this).attr('id').substring(2));
-    });
-  }
-
-  /**
-   * Set comp, which is a comparator function used for sorting and
-   * inserting comments into the list.
-   */
-  function setComparator() {
-    // If the first three letters are "asc", sort in ascending order
-    // and remove the prefix.
-    if (by.substring(0,3) == 'asc') {
-      var i = by.substring(3);
-      comp = function(a, b) { return a[i] - b[i]; };
-    } else {
-      // Otherwise sort in descending order.
-      comp = function(a, b) { return b[by] - a[by]; };
-    }
-
-    // Reset link styles and format the selected sort option.
-    $('a.sel').attr('href', '#').removeClass('sel');
-    $('a.by' + by).removeAttr('href').addClass('sel');
-  }
-
-  /**
-   * Create a comp function. If the user has preferences stored in
-   * the sortBy cookie, use those, otherwise use the default.
-   */
-  function initComparator() {
-    by = 'rating'; // Default to sort by rating.
-    // If the sortBy cookie is set, use that instead.
-    if (document.cookie.length > 0) {
-      var start = document.cookie.indexOf('sortBy=');
-      if (start != -1) {
-        start = start + 7;
-        var end = document.cookie.indexOf(";", start);
-        if (end == -1) {
-          end = document.cookie.length;
-          by = unescape(document.cookie.substring(start, end));
-        }
-      }
-    }
-    setComparator();
-  }
-
-  /**
-   * Show a comment div.
-   */
-  function show(id) {
-    $('#ao' + id).hide();
-    $('#ah' + id).show();
-    var context = $.extend({id: id}, opts);
-    var popup = $(renderTemplate(popupTemplate, context)).hide();
-    popup.find('textarea[name="proposal"]').hide();
-    popup.find('a.by' + by).addClass('sel');
-    var form = popup.find('#cf' + id);
-    form.submit(function(event) {
-      event.preventDefault();
-      addComment(form);
-    });
-    $('#s' + id).after(popup);
-    popup.slideDown('fast', function() {
-      getComments(id);
-    });
-  }
-
-  /**
-   * Hide a comment div.
-   */
-  function hide(id) {
-    $('#ah' + id).hide();
-    $('#ao' + id).show();
-    var div = $('#sc' + id);
-    div.slideUp('fast', function() {
-      div.remove();
-    });
-  }
-
-  /**
-   * Perform an ajax request to get comments for a node
-   * and insert the comments into the comments tree.
-   */
-  function getComments(id) {
-    $.ajax({
-     type: 'GET',
-     url: opts.getCommentsURL,
-     data: {node: id},
-     success: function(data, textStatus, request) {
-       var ul = $('#cl' + id);
-       var speed = 100;
-       $('#cf' + id)
-         .find('textarea[name="proposal"]')
-         .data('source', data.source);
-
-       if (data.comments.length === 0) {
-         ul.html('<li>No comments yet.</li>');
-         ul.data('empty', true);
-       } else {
-         // If there are comments, sort them and put them in the list.
-         var comments = sortComments(data.comments);
-         speed = data.comments.length * 100;
-         appendComments(comments, ul);
-         ul.data('empty', false);
-       }
-       $('#cn' + id).slideUp(speed + 200);
-       ul.slideDown(speed);
-     },
-     error: function(request, textStatus, error) {
-       showError('Oops, there was a problem retrieving the comments.');
-     },
-     dataType: 'json'
-    });
-  }
-
-  /**
-   * Add a comment via ajax and insert the comment into the comment tree.
-   */
-  function addComment(form) {
-    var node_id = form.find('input[name="node"]').val();
-    var parent_id = form.find('input[name="parent"]').val();
-    var text = form.find('textarea[name="comment"]').val();
-    var proposal = form.find('textarea[name="proposal"]').val();
-
-    if (text == '') {
-      showError('Please enter a comment.');
-      return;
-    }
-
-    // Disable the form that is being submitted.
-    form.find('textarea,input').attr('disabled', 'disabled');
-
-    // Send the comment to the server.
-    $.ajax({
-      type: "POST",
-      url: opts.addCommentURL,
-      dataType: 'json',
-      data: {
-        node: node_id,
-        parent: parent_id,
-        text: text,
-        proposal: proposal
-      },
-      success: function(data, textStatus, error) {
-        // Reset the form.
-        if (node_id) {
-          hideProposeChange(node_id);
-        }
-        form.find('textarea')
-          .val('')
-          .add(form.find('input'))
-          .removeAttr('disabled');
-	var ul = $('#cl' + (node_id || parent_id));
-        if (ul.data('empty')) {
-          $(ul).empty();
-          ul.data('empty', false);
-        }
-        insertComment(data.comment);
-        var ao = $('#ao' + node_id);
-        ao.find('img').attr({'src': opts.commentBrightImage});
-        if (node_id) {
-          // if this was a "root" comment, remove the commenting box
-          // (the user can get it back by reopening the comment popup)
-          $('#ca' + node_id).slideUp();
-        }
-      },
-      error: function(request, textStatus, error) {
-        form.find('textarea,input').removeAttr('disabled');
-        showError('Oops, there was a problem adding the comment.');
-      }
-    });
-  }
-
-  /**
-   * Recursively append comments to the main comment list and children
-   * lists, creating the comment tree.
-   */
-  function appendComments(comments, ul) {
-    $.each(comments, function() {
-      var div = createCommentDiv(this);
-      ul.append($(document.createElement('li')).html(div));
-      appendComments(this.children, div.find('ul.comment-children'));
-      // To avoid stagnating data, don't store the comments children in data.
-      this.children = null;
-      div.data('comment', this);
-    });
-  }
-
-  /**
-   * After adding a new comment, it must be inserted in the correct
-   * location in the comment tree.
-   */
-  function insertComment(comment) {
-    var div = createCommentDiv(comment);
-
-    // To avoid stagnating data, don't store the comments children in data.
-    comment.children = null;
-    div.data('comment', comment);
-
-    var ul = $('#cl' + (comment.node || comment.parent));
-    var siblings = getChildren(ul);
-
-    var li = $(document.createElement('li'));
-    li.hide();
-
-    // Determine where in the parents children list to insert this comment.
-    for(var i=0; i < siblings.length; i++) {
-      if (comp(comment, siblings[i]) <= 0) {
-        $('#cd' + siblings[i].id)
-          .parent()
-          .before(li.html(div));
-        li.slideDown('fast');
-        return;
-      }
-    }
-
-    // If we get here, this comment rates lower than all the others,
-    // or it is the only comment in the list.
-    ul.append(li.html(div));
-    li.slideDown('fast');
-  }
-
-  function acceptComment(id) {
-    $.ajax({
-      type: 'POST',
-      url: opts.acceptCommentURL,
-      data: {id: id},
-      success: function(data, textStatus, request) {
-        $('#cm' + id).fadeOut('fast');
-        $('#cd' + id).removeClass('moderate');
-      },
-      error: function(request, textStatus, error) {
-        showError('Oops, there was a problem accepting the comment.');
-      }
-    });
-  }
-
-  function deleteComment(id) {
-    $.ajax({
-      type: 'POST',
-      url: opts.deleteCommentURL,
-      data: {id: id},
-      success: function(data, textStatus, request) {
-        var div = $('#cd' + id);
-        if (data == 'delete') {
-          // Moderator mode: remove the comment and all children immediately
-          div.slideUp('fast', function() {
-            div.remove();
-          });
-          return;
-        }
-        // User mode: only mark the comment as deleted
-        div
-          .find('span.user-id:first')
-          .text('[deleted]').end()
-          .find('div.comment-text:first')
-          .text('[deleted]').end()
-          .find('#cm' + id + ', #dc' + id + ', #ac' + id + ', #rc' + id +
-                ', #sp' + id + ', #hp' + id + ', #cr' + id + ', #rl' + id)
-          .remove();
-        var comment = div.data('comment');
-        comment.username = '[deleted]';
-        comment.text = '[deleted]';
-        div.data('comment', comment);
-      },
-      error: function(request, textStatus, error) {
-        showError('Oops, there was a problem deleting the comment.');
-      }
-    });
-  }
-
-  function showProposal(id) {
-    $('#sp' + id).hide();
-    $('#hp' + id).show();
-    $('#pr' + id).slideDown('fast');
-  }
-
-  function hideProposal(id) {
-    $('#hp' + id).hide();
-    $('#sp' + id).show();
-    $('#pr' + id).slideUp('fast');
-  }
-
-  function showProposeChange(id) {
-    $('#pc' + id).hide();
-    $('#hc' + id).show();
-    var textarea = $('#pt' + id);
-    textarea.val(textarea.data('source'));
-    $.fn.autogrow.resize(textarea[0]);
-    textarea.slideDown('fast');
-  }
-
-  function hideProposeChange(id) {
-    $('#hc' + id).hide();
-    $('#pc' + id).show();
-    var textarea = $('#pt' + id);
-    textarea.val('').removeAttr('disabled');
-    textarea.slideUp('fast');
-  }
-
-  function toggleCommentMarkupBox(id) {
-    $('#mb' + id).toggle();
-  }
-
-  /** Handle when the user clicks on a sort by link. */
-  function handleReSort(link) {
-    var classes = link.attr('class').split(/\s+/);
-    for (var i=0; i<classes.length; i++) {
-      if (classes[i] != 'sort-option') {
-	by = classes[i].substring(2);
-      }
-    }
-    setComparator();
-    // Save/update the sortBy cookie.
-    var expiration = new Date();
-    expiration.setDate(expiration.getDate() + 365);
-    document.cookie= 'sortBy=' + escape(by) +
-                     ';expires=' + expiration.toUTCString();
-    $('ul.comment-ul').each(function(index, ul) {
-      var comments = getChildren($(ul), true);
-      comments = sortComments(comments);
-      appendComments(comments, $(ul).empty());
-    });
-  }
-
-  /**
-   * Function to process a vote when a user clicks an arrow.
-   */
-  function handleVote(link) {
-    if (!opts.voting) {
-      showError("You'll need to login to vote.");
-      return;
-    }
-
-    var id = link.attr('id');
-    if (!id) {
-      // Didn't click on one of the voting arrows.
-      return;
-    }
-    // If it is an unvote, the new vote value is 0,
-    // Otherwise it's 1 for an upvote, or -1 for a downvote.
-    var value = 0;
-    if (id.charAt(1) != 'u') {
-      value = id.charAt(0) == 'u' ? 1 : -1;
-    }
-    // The data to be sent to the server.
-    var d = {
-      comment_id: id.substring(2),
-      value: value
-    };
-
-    // Swap the vote and unvote links.
-    link.hide();
-    $('#' + id.charAt(0) + (id.charAt(1) == 'u' ? 'v' : 'u') + d.comment_id)
-      .show();
-
-    // The div the comment is displayed in.
-    var div = $('div#cd' + d.comment_id);
-    var data = div.data('comment');
-
-    // If this is not an unvote, and the other vote arrow has
-    // already been pressed, unpress it.
-    if ((d.value !== 0) && (data.vote === d.value * -1)) {
-      $('#' + (d.value == 1 ? 'd' : 'u') + 'u' + d.comment_id).hide();
-      $('#' + (d.value == 1 ? 'd' : 'u') + 'v' + d.comment_id).show();
-    }
-
-    // Update the comments rating in the local data.
-    data.rating += (data.vote === 0) ? d.value : (d.value - data.vote);
-    data.vote = d.value;
-    div.data('comment', data);
-
-    // Change the rating text.
-    div.find('.rating:first')
-      .text(data.rating + ' point' + (data.rating == 1 ? '' : 's'));
-
-    // Send the vote information to the server.
-    $.ajax({
-      type: "POST",
-      url: opts.processVoteURL,
-      data: d,
-      error: function(request, textStatus, error) {
-        showError('Oops, there was a problem casting that vote.');
-      }
-    });
-  }
-
-  /**
-   * Open a reply form used to reply to an existing comment.
-   */
-  function openReply(id) {
-    // Swap out the reply link for the hide link
-    $('#rl' + id).hide();
-    $('#cr' + id).show();
-
-    // Add the reply li to the children ul.
-    var div = $(renderTemplate(replyTemplate, {id: id})).hide();
-    $('#cl' + id)
-      .prepend(div)
-      // Setup the submit handler for the reply form.
-      .find('#rf' + id)
-      .submit(function(event) {
-        event.preventDefault();
-        addComment($('#rf' + id));
-        closeReply(id);
-      })
-      .find('input[type=button]')
-      .click(function() {
-        closeReply(id);
-      });
-    div.slideDown('fast', function() {
-      $('#rf' + id).find('textarea').focus();
-    });
-  }
-
-  /**
-   * Close the reply form opened with openReply.
-   */
-  function closeReply(id) {
-    // Remove the reply div from the DOM.
-    $('#rd' + id).slideUp('fast', function() {
-      $(this).remove();
-    });
-
-    // Swap out the hide link for the reply link
-    $('#cr' + id).hide();
-    $('#rl' + id).show();
-  }
-
-  /**
-   * Recursively sort a tree of comments using the comp comparator.
-   */
-  function sortComments(comments) {
-    comments.sort(comp);
-    $.each(comments, function() {
-      this.children = sortComments(this.children);
-    });
-    return comments;
-  }
-
-  /**
-   * Get the children comments from a ul. If recursive is true,
-   * recursively include childrens' children.
-   */
-  function getChildren(ul, recursive) {
-    var children = [];
-    ul.children().children("[id^='cd']")
-      .each(function() {
-        var comment = $(this).data('comment');
-        if (recursive)
-          comment.children = getChildren($(this).find('#cl' + comment.id), true);
-        children.push(comment);
-      });
-    return children;
-  }
-
-  /** Create a div to display a comment in. */
-  function createCommentDiv(comment) {
-    if (!comment.displayed && !opts.moderator) {
-      return $('<div class="moderate">Thank you!  Your comment will show up '
-               + 'once it is has been approved by a moderator.</div>');
-    }
-    // Prettify the comment rating.
-    comment.pretty_rating = comment.rating + ' point' +
-      (comment.rating == 1 ? '' : 's');
-    // Make a class (for displaying not yet moderated comments differently)
-    comment.css_class = comment.displayed ? '' : ' moderate';
-    // Create a div for this comment.
-    var context = $.extend({}, opts, comment);
-    var div = $(renderTemplate(commentTemplate, context));
-
-    // If the user has voted on this comment, highlight the correct arrow.
-    if (comment.vote) {
-      var direction = (comment.vote == 1) ? 'u' : 'd';
-      div.find('#' + direction + 'v' + comment.id).hide();
-      div.find('#' + direction + 'u' + comment.id).show();
-    }
-
-    if (opts.moderator || comment.text != '[deleted]') {
-      div.find('a.reply').show();
-      if (comment.proposal_diff)
-        div.find('#sp' + comment.id).show();
-      if (opts.moderator && !comment.displayed)
-        div.find('#cm' + comment.id).show();
-      if (opts.moderator || (opts.username == comment.username))
-        div.find('#dc' + comment.id).show();
-    }
-    return div;
-  }
-
-  /**
-   * A simple template renderer. Placeholders such as <%id%> are replaced
-   * by context['id'] with items being escaped. Placeholders such as <#id#>
-   * are not escaped.
-   */
-  function renderTemplate(template, context) {
-    var esc = $(document.createElement('div'));
-
-    function handle(ph, escape) {
-      var cur = context;
-      $.each(ph.split('.'), function() {
-        cur = cur[this];
-      });
-      return escape ? esc.text(cur || "").html() : cur;
-    }
-
-    return template.replace(/<([%#])([\w\.]*)\1>/g, function() {
-      return handle(arguments[2], arguments[1] == '%' ? true : false);
-    });
-  }
-
-  /** Flash an error message briefly. */
-  function showError(message) {
-    $(document.createElement('div')).attr({'class': 'popup-error'})
-      .append($(document.createElement('div'))
-               .attr({'class': 'error-message'}).text(message))
-      .appendTo('body')
-      .fadeIn("slow")
-      .delay(2000)
-      .fadeOut("slow");
-  }
-
-  /** Add a link the user uses to open the comments popup. */
-  $.fn.comment = function() {
-    return this.each(function() {
-      var id = $(this).attr('id').substring(1);
-      var count = COMMENT_METADATA[id];
-      var title = count + ' comment' + (count == 1 ? '' : 's');
-      var image = count > 0 ? opts.commentBrightImage : opts.commentImage;
-      var addcls = count == 0 ? ' nocomment' : '';
-      $(this)
-        .append(
-          $(document.createElement('a')).attr({
-            href: '#',
-            'class': 'sphinx-comment-open' + addcls,
-            id: 'ao' + id
-          })
-            .append($(document.createElement('img')).attr({
-              src: image,
-              alt: 'comment',
-              title: title
-            }))
-            .click(function(event) {
-              event.preventDefault();
-              show($(this).attr('id').substring(2));
-            })
-        )
-        .append(
-          $(document.createElement('a')).attr({
-            href: '#',
-            'class': 'sphinx-comment-close hidden',
-            id: 'ah' + id
-          })
-            .append($(document.createElement('img')).attr({
-              src: opts.closeCommentImage,
-              alt: 'close',
-              title: 'close'
-            }))
-            .click(function(event) {
-              event.preventDefault();
-              hide($(this).attr('id').substring(2));
-            })
-        );
-    });
-  };
-
-  var opts = {
-    processVoteURL: '/_process_vote',
-    addCommentURL: '/_add_comment',
-    getCommentsURL: '/_get_comments',
-    acceptCommentURL: '/_accept_comment',
-    deleteCommentURL: '/_delete_comment',
-    commentImage: '/static/_static/comment.png',
-    closeCommentImage: '/static/_static/comment-close.png',
-    loadingImage: '/static/_static/ajax-loader.gif',
-    commentBrightImage: '/static/_static/comment-bright.png',
-    upArrow: '/static/_static/up.png',
-    downArrow: '/static/_static/down.png',
-    upArrowPressed: '/static/_static/up-pressed.png',
-    downArrowPressed: '/static/_static/down-pressed.png',
-    voting: false,
-    moderator: false
-  };
-
-  if (typeof COMMENT_OPTIONS != "undefined") {
-    opts = jQuery.extend(opts, COMMENT_OPTIONS);
-  }
-
-  var popupTemplate = '\
-    <div class="sphinx-comments" id="sc<%id%>">\
-      <p class="sort-options">\
-        Sort by:\
-        <a href="#" class="sort-option byrating">best rated</a>\
-        <a href="#" class="sort-option byascage">newest</a>\
-        <a href="#" class="sort-option byage">oldest</a>\
-      </p>\
-      <div class="comment-header">Comments</div>\
-      <div class="comment-loading" id="cn<%id%>">\
-        loading comments... <img src="<%loadingImage%>" alt="" /></div>\
-      <ul id="cl<%id%>" class="comment-ul"></ul>\
-      <div id="ca<%id%>">\
-      <p class="add-a-comment">Add a comment\
-        (<a href="#" class="comment-markup" id="ab<%id%>">markup</a>):</p>\
-      <div class="comment-markup-box" id="mb<%id%>">\
-        reStructured text markup: <i>*emph*</i>, <b>**strong**</b>, \
-        <code>``code``</code>, \
-        code blocks: <code>::</code> and an indented block after blank line</div>\
-      <form method="post" id="cf<%id%>" class="comment-form" action="">\
-        <textarea name="comment" cols="80"></textarea>\
-        <p class="propose-button">\
-          <a href="#" id="pc<%id%>" class="show-propose-change">\
-            Propose a change &#9657;\
-          </a>\
-          <a href="#" id="hc<%id%>" class="hide-propose-change">\
-            Propose a change &#9663;\
-          </a>\
-        </p>\
-        <textarea name="proposal" id="pt<%id%>" cols="80"\
-                  spellcheck="false"></textarea>\
-        <input type="submit" value="Add comment" />\
-        <input type="hidden" name="node" value="<%id%>" />\
-        <input type="hidden" name="parent" value="" />\
-      </form>\
-      </div>\
-    </div>';
-
-  var commentTemplate = '\
-    <div id="cd<%id%>" class="sphinx-comment<%css_class%>">\
-      <div class="vote">\
-        <div class="arrow">\
-          <a href="#" id="uv<%id%>" class="vote" title="vote up">\
-            <img src="<%upArrow%>" />\
-          </a>\
-          <a href="#" id="uu<%id%>" class="un vote" title="vote up">\
-            <img src="<%upArrowPressed%>" />\
-          </a>\
-        </div>\
-        <div class="arrow">\
-          <a href="#" id="dv<%id%>" class="vote" title="vote down">\
-            <img src="<%downArrow%>" id="da<%id%>" />\
-          </a>\
-          <a href="#" id="du<%id%>" class="un vote" title="vote down">\
-            <img src="<%downArrowPressed%>" />\
-          </a>\
-        </div>\
-      </div>\
-      <div class="comment-content">\
-        <p class="tagline comment">\
-          <span class="user-id"><%username%></span>\
-          <span class="rating"><%pretty_rating%></span>\
-          <span class="delta"><%time.delta%></span>\
-        </p>\
-        <div class="comment-text comment"><#text#></div>\
-        <p class="comment-opts comment">\
-          <a href="#" class="reply hidden" id="rl<%id%>">reply &#9657;</a>\
-          <a href="#" class="close-reply" id="cr<%id%>">reply &#9663;</a>\
-          <a href="#" id="sp<%id%>" class="show-proposal">proposal &#9657;</a>\
-          <a href="#" id="hp<%id%>" class="hide-proposal">proposal &#9663;</a>\
-          <a href="#" id="dc<%id%>" class="delete-comment hidden">delete</a>\
-          <span id="cm<%id%>" class="moderation hidden">\
-            <a href="#" id="ac<%id%>" class="accept-comment">accept</a>\
-          </span>\
-        </p>\
-        <pre class="proposal" id="pr<%id%>">\
-<#proposal_diff#>\
-        </pre>\
-          <ul class="comment-children" id="cl<%id%>"></ul>\
-        </div>\
-        <div class="clearleft"></div>\
-      </div>\
-    </div>';
-
-  var replyTemplate = '\
-    <li>\
-      <div class="reply-div" id="rd<%id%>">\
-        <form id="rf<%id%>">\
-          <textarea name="comment" cols="80"></textarea>\
-          <input type="submit" value="Add reply" />\
-          <input type="button" value="Cancel" />\
-          <input type="hidden" name="parent" value="<%id%>" />\
-          <input type="hidden" name="node" value="" />\
-        </form>\
-      </div>\
-    </li>';
-
-  $(document).ready(function() {
-    init();
-  });
-})(jQuery);
-
-$(document).ready(function() {
-  // add comment anchors for all paragraphs that are commentable
-  $('.sphinx-has-comment').comment();
-
-  // highlight search words in search results
-  $("div.context").each(function() {
-    var params = $.getQueryParameters();
-    var terms = (params.q) ? params.q[0].split(/\s+/) : [];
-    var result = $(this);
-    $.each(terms, function() {
-      result.highlightText(this.toLowerCase(), 'highlighted');
-    });
-  });
-
-  // directly open comment window if requested
-  var anchor = document.location.hash;
-  if (anchor.substring(0, 9) == '#comment-') {
-    $('#ao' + anchor.substring(9)).click();
-    document.location.hash = '#s' + anchor.substring(9);
-  }
-});
diff --git a/doc/html/actions/index.html b/doc/html/actions/index.html
index 9e41b3622e4984466e8c6a92a4039a38bc45f734..445e5ca24c8d2508f1d7c482a4b4042755e820ed 100644
--- a/doc/html/actions/index.html
+++ b/doc/html/actions/index.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>ProMod3 Actions &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>ProMod3 Actions &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Building ProMod3" href="../buildsystem.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,25 +31,27 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="project-actions">
-<span id="promod-actions"></span><h1>ProMod3 Actions<a class="headerlink" href="#project-actions" title="Permalink to this headline">¶</a></h1>
+  <section id="project-actions">
+<span id="promod-actions"></span><h1>ProMod3 Actions<a class="headerlink" href="#project-actions" title="Permalink to this heading">¶</a></h1>
 <p>A pure command line interface of ProMod3 is provided by actions.
 You can execute <code class="docutils literal notranslate"><span class="pre">pm</span> <span class="pre">help</span></code> for a list of possible actions and for every action,
 you can type <code class="docutils literal notranslate"><span class="pre">pm</span> <span class="pre">&lt;ACTION&gt;</span> <span class="pre">-h</span></code> to get a description on its usage.</p>
 <p>Here we list the most prominent actions with simple examples.</p>
-<div class="section" id="building-models">
-<span id="promod-build-model"></span><h2>Building models<a class="headerlink" href="#building-models" title="Permalink to this headline">¶</a></h2>
+<section id="building-models">
+<span id="promod-build-model"></span><h2>Building models<a class="headerlink" href="#building-models" title="Permalink to this heading">¶</a></h2>
 <p>You can run a full protein homology modelling pipeline from the command line
 with</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> pm build-model <span class="o">[</span>-h<span class="o">]</span> <span class="o">(</span>-f &lt;FILE&gt; <span class="p">|</span> -c &lt;FILE&gt; <span class="p">|</span> -j &lt;OBJECT&gt;<span class="p">|</span>&lt;FILE&gt;<span class="o">)</span>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>pm<span class="w"> </span>build-model<span class="w"> </span><span class="o">[</span>-h<span class="o">]</span><span class="w"> </span><span class="o">(</span>-f<span class="w"> </span>&lt;FILE&gt;<span class="w"> </span><span class="p">|</span><span class="w"> </span>-c<span class="w"> </span>&lt;FILE&gt;<span class="w"> </span><span class="p">|</span><span class="w"> </span>-j<span class="w"> </span>&lt;OBJECT&gt;<span class="p">|</span>&lt;FILE&gt;<span class="o">)</span>
 <span class="go">                 (-p &lt;FILE&gt; | -e &lt;FILE&gt;) [-s &lt;FILE&gt;] [-o &lt;FILENAME&gt;]</span>
 <span class="go">                 [-r] [-t]</span>
 </pre></div>
 </div>
 <p>Example usage:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> pm build-model -f aln.fasta -p tpl.pdb
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>pm<span class="w"> </span>build-model<span class="w"> </span>-f<span class="w"> </span>aln.fasta<span class="w"> </span>-p<span class="w"> </span>tpl.pdb
 </pre></div>
 </div>
 <p>This reads a target-template alignment from <code class="file docutils literal notranslate"><span class="pre">aln.fasta</span></code> and a matching
@@ -62,9 +65,8 @@ given order. The chains of the target model are named with default chain names
 (A, B, C, …, see <a class="reference internal" href="../modelling/pipeline.html#promod3.modelling.BuildRawModel" title="promod3.modelling.BuildRawModel"><code class="xref py py-meth docutils literal notranslate"><span class="pre">BuildRawModel()</span></code></a>).
 Notes on the input formats:</p>
 <ul>
-<li><p class="first">Leading/trailing whitespaces of sequence names will always be deleted</p>
-</li>
-<li><p class="first">FASTA input example:</p>
+<li><p>Leading/trailing whitespaces of sequence names will always be deleted</p></li>
+<li><p>FASTA input example:</p>
 <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>&gt;target
 HGFHVHEFGDNTNGCMSSGPHFNPYGKEHGAPVDENRHLG
 &gt;2jlp-1.A|55
@@ -76,9 +78,8 @@ used. Template sequence names can encode an identifier for the chain to attach
 to it and optionally an offset (here: 55, see below for details).
 Leading whitespaces of fasta headers will be deleted</p>
 </li>
-<li><p class="first">CLUSTAL input follows the same logic as FASTA input</p>
-</li>
-<li><p class="first">JSON input: filenames are not allowed to start with ‘{‘.
+<li><p>CLUSTAL input follows the same logic as FASTA input</p></li>
+<li><p>JSON input: filenames are not allowed to start with ‘{‘.
 JSON objects contain an entry with key ‘alignmentlist’.
 That in turn is an array of objects with keys ‘target’ and ‘template’.
 Those in turn are objects with keys
@@ -86,23 +87,23 @@ Those in turn are objects with keys
 ‘seqres’ (string for aligned sequence) and optionally for templates
 ‘offset’ (number of residues to skip in structure file attached to it).
 Example:</p>
-<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="nt">&quot;alignmentlist&quot;</span><span class="p">:</span> <span class="p">[</span> <span class="p">{</span>
-  <span class="nt">&quot;target&quot;</span><span class="p">:</span> <span class="p">{</span>
-      <span class="nt">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;mytrg&quot;</span><span class="p">,</span>
-      <span class="nt">&quot;seqres&quot;</span><span class="p">:</span> <span class="s2">&quot;HGFHVHEFGDNTNGCMSSGPHFNPYGKEHGAPVDENRHLG&quot;</span>
-  <span class="p">},</span>
-  <span class="nt">&quot;template&quot;</span><span class="p">:</span> <span class="p">{</span>
-      <span class="nt">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;2jlp-1.A&quot;</span><span class="p">,</span>
-      <span class="nt">&quot;offset&quot;</span><span class="p">:</span> <span class="mi">55</span><span class="p">,</span>
-      <span class="nt">&quot;seqres&quot;</span><span class="p">:</span> <span class="s2">&quot;RAIHVHQFGDLSQGCESTGPHYNPLAVPH------PQHPG&quot;</span>
-  <span class="p">}</span>
-<span class="p">}</span> <span class="p">]</span> <span class="p">}</span>
+<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="nt">&quot;alignmentlist&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="p">{</span>
+<span class="w">  </span><span class="nt">&quot;target&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
+<span class="w">      </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;mytrg&quot;</span><span class="p">,</span>
+<span class="w">      </span><span class="nt">&quot;seqres&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;HGFHVHEFGDNTNGCMSSGPHFNPYGKEHGAPVDENRHLG&quot;</span>
+<span class="w">  </span><span class="p">},</span>
+<span class="w">  </span><span class="nt">&quot;template&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
+<span class="w">      </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2jlp-1.A&quot;</span><span class="p">,</span>
+<span class="w">      </span><span class="nt">&quot;offset&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">55</span><span class="p">,</span>
+<span class="w">      </span><span class="nt">&quot;seqres&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;RAIHVHQFGDLSQGCESTGPHYNPLAVPH------PQHPG&quot;</span>
+<span class="w">  </span><span class="p">}</span>
+<span class="p">}</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">}</span>
 </pre></div>
 </div>
 </li>
 </ul>
 <p>Structures can be provided in PDB (<code class="docutils literal notranslate"><span class="pre">-p</span></code>) or in any format readable by the
-<a class="reference external" href="https://www.openstructure.org/docs/2.4/io/io/#ost.io.LoadEntity" title="(in OpenStructure v2.4.0)"><code class="xref py py-func docutils literal notranslate"><span class="pre">ost.io.LoadEntity()</span></code></a> method (<code class="docutils literal notranslate"><span class="pre">-e</span></code>). In the latter case, the format is
+<a class="reference external" href="https://openstructure.org/docs/2.9.2/io/io/#ost.io.LoadEntity" title="(in OpenStructure v2.9.2)"><code class="xref py py-func docutils literal notranslate"><span class="pre">ost.io.LoadEntity()</span></code></a> method (<code class="docutils literal notranslate"><span class="pre">-e</span></code>). In the latter case, the format is
 chosen by file ending. Recognized File Extensions: <code class="docutils literal notranslate"><span class="pre">.ent</span></code>, <code class="docutils literal notranslate"><span class="pre">.pdb</span></code>,
 <code class="docutils literal notranslate"><span class="pre">.ent.gz</span></code>, <code class="docutils literal notranslate"><span class="pre">.pdb.gz</span></code>, <code class="docutils literal notranslate"><span class="pre">.cif</span></code>, <code class="docutils literal notranslate"><span class="pre">.cif.gz</span></code>. At least one structure must be
 given and you cannot mix file formats. Multiple structures can be given and each
@@ -111,16 +112,16 @@ chain to attach to which template sequence. Chains for each sequence are
 identified based on the sequence name of the templates in the alignments. Valid
 sequence names are:</p>
 <ul class="simple">
-<li>anything, if only one structure with one chain</li>
-<li>“&lt;FILE&gt;.&lt;CHAIN&gt;”, where &lt;FILE&gt; is the base file name of an imported structure
+<li><p>anything, if only one structure with one chain</p></li>
+<li><p>“&lt;FILE&gt;.&lt;CHAIN&gt;”, where &lt;FILE&gt; is the base file name of an imported structure
 with no extensions and &lt;CHAIN&gt; is the identifier of the chain in the imported
-structure.</li>
-<li>“&lt;FILE&gt;” if only one chain in file</li>
-<li>“&lt;CHAIN&gt;” if only one file imported</li>
-<li>“&lt;CHAINID&gt;|&lt;OFFSET&gt;”, where &lt;CHAINID&gt; identifies the chain as above and
+structure.</p></li>
+<li><p>“&lt;FILE&gt;” if only one chain in file</p></li>
+<li><p>“&lt;CHAIN&gt;” if only one file imported</p></li>
+<li><p>“&lt;CHAINID&gt;|&lt;OFFSET&gt;”, where &lt;CHAINID&gt; identifies the chain as above and
 &lt;OFFSET&gt; is the number of residues to skip for that chain to reach the first
 residue in the aligned sequence. Leading/trailing whitespaces of &lt;CHAINID&gt; and
-&lt;OFFSET&gt; are ignored.</li>
+&lt;OFFSET&gt; are ignored.</p></li>
 </ul>
 <p>Example: <code class="docutils literal notranslate"><span class="pre">...</span> <span class="pre">-p</span> <span class="pre">data/2jlp.pdb.gz</span></code>, where the pdb file has chains <code class="docutils literal notranslate"><span class="pre">A</span></code>,
 <code class="docutils literal notranslate"><span class="pre">B</span></code>, <code class="docutils literal notranslate"><span class="pre">C</span></code> and the template sequence is named <code class="docutils literal notranslate"><span class="pre">2jlp.A|55</span></code>.</p>
@@ -132,15 +133,15 @@ extensions are understood: .hhm, .hhm.gz, .pssm, .pssm.gz.
 Consider to use <code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.bindings.hhblits.HHblits.A3MToProfile()</span></code> if you have a
 file in a3m format at hand.</p>
 <ul class="simple">
-<li>The profiles are mapped based on exact matches towards the gapless
+<li><p>The profiles are mapped based on exact matches towards the gapless
 target sequences from the provided alignment files,
-i.e. one profile is mapped to several chains in case of homo-oligomers</li>
-<li>Every profile must have a unique sequence to avoid ambiguities</li>
-<li>All or nothing - You cannot provide profiles for only a subset of
-target sequences</li>
+i.e. one profile is mapped to several chains in case of homo-oligomers</p></li>
+<li><p>Every profile must have a unique sequence to avoid ambiguities</p></li>
+<li><p>All or nothing - You cannot provide profiles for only a subset of
+target sequences</p></li>
 </ul>
 <p>Example usage:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> pm build-model -f aln.fasta -p tpl.pdb -s prof.hhm
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>pm<span class="w"> </span>build-model<span class="w"> </span>-f<span class="w"> </span>aln.fasta<span class="w"> </span>-p<span class="w"> </span>tpl.pdb<span class="w"> </span>-s<span class="w"> </span>prof.hhm
 </pre></div>
 </div>
 <p>A fast torsion angle based sampling is performed in case of Monte Carlo
@@ -159,24 +160,24 @@ that the accuracy of those termini is likely to be limited. Termini of length 1
 won’t be modelled.</p>
 <p>Possible exit codes of the action:</p>
 <ul class="simple">
-<li>0: all went well</li>
-<li>1: an unhandled exception was raised</li>
-<li>2: arguments cannot be parsed or required arguments are missing</li>
-<li>3: failed to perform modelling (internal error)</li>
-<li>4: failed to write results to file</li>
-<li>other non-zero: failure in argument checking
-(see <a class="reference internal" href="../core/pm3argparse.html#promod3.core.pm3argparse.PM3ArgumentParser" title="promod3.core.pm3argparse.PM3ArgumentParser"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.core.pm3argparse.PM3ArgumentParser</span></code></a>)</li>
+<li><p>0: all went well</p></li>
+<li><p>1: an unhandled exception was raised</p></li>
+<li><p>2: arguments cannot be parsed or required arguments are missing</p></li>
+<li><p>3: failed to perform modelling (internal error)</p></li>
+<li><p>4: failed to write results to file</p></li>
+<li><p>other non-zero: failure in argument checking
+(see <a class="reference internal" href="../core/pm3argparse.html#promod3.core.pm3argparse.PM3ArgumentParser" title="promod3.core.pm3argparse.PM3ArgumentParser"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.core.pm3argparse.PM3ArgumentParser</span></code></a>)</p></li>
 </ul>
-</div>
-<div class="section" id="sidechain-modelling">
-<h2>Sidechain Modelling<a class="headerlink" href="#sidechain-modelling" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="sidechain-modelling">
+<h2>Sidechain Modelling<a class="headerlink" href="#sidechain-modelling" title="Permalink to this heading">¶</a></h2>
 <p>You can (re-)construct the sidechains in a model from the command line.</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> usage: build-sidechains <span class="o">[</span>-h<span class="o">]</span> <span class="o">(</span>-p &lt;FILE&gt; <span class="p">|</span> -e &lt;FILE&gt;<span class="o">)</span> <span class="o">[</span>-o &lt;FILENAME&gt;<span class="o">]</span> <span class="o">[</span>-k<span class="o">]</span> <span class="o">[</span>-n<span class="o">]</span>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>usage:<span class="w"> </span>build-sidechains<span class="w"> </span><span class="o">[</span>-h<span class="o">]</span><span class="w"> </span><span class="o">(</span>-p<span class="w"> </span>&lt;FILE&gt;<span class="w"> </span><span class="p">|</span><span class="w"> </span>-e<span class="w"> </span>&lt;FILE&gt;<span class="o">)</span><span class="w"> </span><span class="o">[</span>-o<span class="w"> </span>&lt;FILENAME&gt;<span class="o">]</span><span class="w"> </span><span class="o">[</span>-k<span class="o">]</span><span class="w"> </span><span class="o">[</span>-n<span class="o">]</span>
 <span class="go">                          [-r] [-i] [-s]</span>
 </pre></div>
 </div>
 <p>Example usage:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> pm build-sidechains -p input.pdb
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>pm<span class="w"> </span>build-sidechains<span class="w"> </span>-p<span class="w"> </span>input.pdb
 </pre></div>
 </div>
 <p>This reads a structure stored in in.pdb, strips all sidechains,
@@ -184,54 +185,55 @@ detects and models disulfid bonds and reconstructs all sidechains with the
 flexible rotamer model. The result is stored as <code class="file docutils literal notranslate"><span class="pre">out.pdb</span></code>.
 The output filename can be controlled with the <code class="docutils literal notranslate"><span class="pre">-o</span></code> flag.</p>
 <p>A structure can be provided in PDB (<code class="docutils literal notranslate"><span class="pre">-p</span></code>) or in any format readable by the
-<a class="reference external" href="https://www.openstructure.org/docs/2.4/io/io/#ost.io.LoadEntity" title="(in OpenStructure v2.4.0)"><code class="xref py py-func docutils literal notranslate"><span class="pre">ost.io.LoadEntity()</span></code></a> method (<code class="docutils literal notranslate"><span class="pre">-e</span></code>). In the latter case, the format is
+<a class="reference external" href="https://openstructure.org/docs/2.9.2/io/io/#ost.io.LoadEntity" title="(in OpenStructure v2.9.2)"><code class="xref py py-func docutils literal notranslate"><span class="pre">ost.io.LoadEntity()</span></code></a> method (<code class="docutils literal notranslate"><span class="pre">-e</span></code>). In the latter case, the format is
 chosen by file ending. Recognized File Extensions: <code class="docutils literal notranslate"><span class="pre">.ent</span></code>, <code class="docutils literal notranslate"><span class="pre">.pdb</span></code>,
 <code class="docutils literal notranslate"><span class="pre">.ent.gz</span></code>, <code class="docutils literal notranslate"><span class="pre">.pdb.gz</span></code>, <code class="docutils literal notranslate"><span class="pre">.cif</span></code>, <code class="docutils literal notranslate"><span class="pre">.cif.gz</span></code>.</p>
 <p>Several flags control the modelling behaviour:</p>
-<dl class="option">
-<dt id="cmdoption-k">
-<code class="descname">-k</code><code class="descclassname"></code><code class="descclassname">, </code><code class="descname">--keep-sidechains</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-k" title="Permalink to this definition">¶</a></dt>
+<dl class="std option">
+<dt class="sig sig-object std" id="cmdoption-k">
+<span id="cmdoption-keep-sidechains"></span><span class="sig-name descname"><span class="pre">-k</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">--keep-sidechains</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-k" title="Permalink to this definition">¶</a></dt>
 <dd><p>Keep existing sidechains.</p>
 </dd></dl>
 
-<dl class="option">
-<dt id="cmdoption-n">
-<code class="descname">-n</code><code class="descclassname"></code><code class="descclassname">, </code><code class="descname">--no-disulfids</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-n" title="Permalink to this definition">¶</a></dt>
+<dl class="std option">
+<dt class="sig sig-object std" id="cmdoption-n">
+<span id="cmdoption-no-disulfids"></span><span class="sig-name descname"><span class="pre">-n</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">--no-disulfids</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-n" title="Permalink to this definition">¶</a></dt>
 <dd><p>Do not build disulfid bonds before sidechain optimization</p>
 </dd></dl>
 
-<dl class="option">
-<dt id="cmdoption-r">
-<code class="descname">-r</code><code class="descclassname"></code><code class="descclassname">, </code><code class="descname">--rigid-rotamers</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-r" title="Permalink to this definition">¶</a></dt>
+<dl class="std option">
+<dt class="sig sig-object std" id="cmdoption-r">
+<span id="cmdoption-rigid-rotamers"></span><span class="sig-name descname"><span class="pre">-r</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">--rigid-rotamers</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-r" title="Permalink to this definition">¶</a></dt>
 <dd><p>Do not use rotamers with subrotamers</p>
 </dd></dl>
 
-<dl class="option">
-<dt id="cmdoption-i">
-<code class="descname">-i</code><code class="descclassname"></code><code class="descclassname">, </code><code class="descname">--backbone-independent</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-i" title="Permalink to this definition">¶</a></dt>
+<dl class="std option">
+<dt class="sig sig-object std" id="cmdoption-i">
+<span id="cmdoption-backbone-independent"></span><span class="sig-name descname"><span class="pre">-i</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">--backbone-independent</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-i" title="Permalink to this definition">¶</a></dt>
 <dd><p>Use backbone independent rotamer library
 (from <a class="reference internal" href="../sidechain/loading.html#promod3.sidechain.LoadLib" title="promod3.sidechain.LoadLib"><code class="xref py py-meth docutils literal notranslate"><span class="pre">promod3.sidechain.LoadLib()</span></code></a>) instead of the default backbone
 dependent one (from <a class="reference internal" href="../sidechain/loading.html#promod3.sidechain.LoadBBDepLib" title="promod3.sidechain.LoadBBDepLib"><code class="xref py py-meth docutils literal notranslate"><span class="pre">promod3.sidechain.LoadBBDepLib()</span></code></a>)</p>
 </dd></dl>
 
-<dl class="option">
-<dt id="cmdoption-s">
-<code class="descname">-s</code><code class="descclassname"></code><code class="descclassname">, </code><code class="descname">--no-subrotamer-optimization</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-s" title="Permalink to this definition">¶</a></dt>
+<dl class="std option">
+<dt class="sig sig-object std" id="cmdoption-s">
+<span id="cmdoption-no-subrotamer-optimization"></span><span class="sig-name descname"><span class="pre">-s</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">--no-subrotamer-optimization</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-s" title="Permalink to this definition">¶</a></dt>
 <dd><p>Dont do subrotamer optimization if flexible rotamer model is used</p>
 </dd></dl>
 
-<dl class="option">
-<dt id="cmdoption-f">
-<code class="descname">-f</code><code class="descclassname"></code><code class="descclassname">, </code><code class="descname">--energy_function</code><code class="descclassname"></code><a class="headerlink" href="#cmdoption-f" title="Permalink to this definition">¶</a></dt>
+<dl class="std option">
+<dt class="sig sig-object std" id="cmdoption-f">
+<span id="cmdoption-energy_function"></span><span id="cmdoption-energy-function"></span><span class="sig-name descname"><span class="pre">-f</span></span><span class="sig-prename descclassname"></span><span class="sig-prename descclassname"><span class="pre">,</span> </span><span class="sig-name descname"><span class="pre">--energy_function</span></span><span class="sig-prename descclassname"></span><a class="headerlink" href="#cmdoption-f" title="Permalink to this definition">¶</a></dt>
 <dd><p>The energy function to be used. Default is SCWRL4, can be any function
 supported by <a class="reference internal" href="../modelling/sidechain_reconstruction.html#promod3.modelling.ReconstructSidechains" title="promod3.modelling.ReconstructSidechains"><code class="xref py py-meth docutils literal notranslate"><span class="pre">promod3.modelling.ReconstructSidechains()</span></code></a>.</p>
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -252,12 +254,12 @@ supported by <a class="reference internal" href="../modelling/sidechain_reconstr
 <li class="toctree-l2 current"><a class="current reference internal" href="#">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -281,27 +283,33 @@ supported by <a class="reference internal" href="../modelling/sidechain_reconstr
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/actions/index.rst.txt"
diff --git a/doc/html/actions/index_dev.html b/doc/html/actions/index_dev.html
index c2fe078e002a4a1b68f57b3e68944fdd4dc8dc46..09cce5ffb808760492b3506e8e2df91e30462516 100644
--- a/doc/html/actions/index_dev.html
+++ b/doc/html/actions/index_dev.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>test_actions - Testing Actions &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>test_actions - Testing Actions &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="ProMod3’s Share Of CMake" href="../cmake/index.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,18 +31,20 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="module-test_actions">
-<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 notranslate"><span class="pre">test_actions</span></code></a> - Testing Actions<a class="headerlink" href="#module-test_actions" title="Permalink to this headline">¶</a></h1>
+  <section id="module-test_actions">
+<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 notranslate"><span class="pre">test_actions</span></code></a> - Testing Actions<a class="headerlink" href="#module-test_actions" title="Permalink to this heading">¶</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
 creating new actions along immediate tests, which will be stored as unit tests
 and stay available to monitor later changes.</p>
 <div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">A couple of different paths will be mentioned in the following. To make
+<p class="admonition-title">Note</p>
+<p>A couple of different paths will be mentioned in the following. To make
 things easier to tell apart, a prefix <code class="file docutils literal notranslate"><span class="pre">&lt;SOURCE&gt;</span></code> refers to the code
 repository, <code class="file docutils literal notranslate"><span class="pre">&lt;BUILD&gt;</span></code> to the build directory tree.</p>
 </div>
@@ -55,17 +58,13 @@ Python imports a module, its usually compiled into bytecode. This new file
 would clutter up the source repository, it would always show up as untracked
 file on <code class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">status</span></code>. To prevent this, tell Python to stop producing
 bytecode right at the beginning of your test-script:</p>
-<div class="highlight-default notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
-2
-3
-4
-5</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">sys</span>
-
-<span class="c1"># this is needed so there will be no test_actions.pyc created in the source</span>
-<span class="c1"># directory</span>
-<span class="hll"><span class="n">sys</span><span class="o">.</span><span class="n">dont_write_bytecode</span> <span class="o">=</span> <span class="kc">True</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="linenos">1</span><span class="kn">import</span> <span class="nn">sys</span>
+<span class="linenos">2</span>
+<span class="linenos">3</span><span class="c1"># this is needed so there will be no test_actions.pyc created in the source</span>
+<span class="linenos">4</span><span class="c1"># directory</span>
+<span class="hll"><span class="linenos">5</span><span class="n">sys</span><span class="o">.</span><span class="n">dont_write_bytecode</span> <span class="o">=</span> <span class="kc">True</span>
 </span></pre></div>
-</td></tr></table></div>
+</div>
 <p>Line 5 does the trick. This needs to be set by you in every action unit test
 file since Python only recognises it <strong>before</strong> the module is imported.
 Otherwise a module could disable bytecoding for all other modules loaded.</p>
@@ -80,133 +79,117 @@ goal is to not trigger test runs manually in a shell but have a script that
 does it for you. From there, you do not need to remember all the calls you
 punched into the command line a year ago, when you come back to change
 something, add new functionality, etc..</p>
-<div class="section" id="creating-an-action-unit-test-script">
-<h2>Creating an Action Unit Test Script<a class="headerlink" href="#creating-an-action-unit-test-script" title="Permalink to this headline">¶</a></h2>
+<section id="creating-an-action-unit-test-script">
+<h2>Creating an Action Unit Test Script<a class="headerlink" href="#creating-an-action-unit-test-script" title="Permalink to this heading">¶</a></h2>
 <p>In the next couple of paragraphs, we will walk through setting up a new unit
 test script for an imaginary action. We will continuously extend the file
 started above, so keep an eye on line numbers. Lets just assume your action is
 called <code class="docutils literal notranslate"><span class="pre">do-awesome</span></code> for the rest of this section.</p>
-<div class="section" id="the-test-script">
-<h3>The Test Script<a class="headerlink" href="#the-test-script" title="Permalink to this headline">¶</a></h3>
+<section id="the-test-script">
+<h3>The Test Script<a class="headerlink" href="#the-test-script" title="Permalink to this heading">¶</a></h3>
 <p>The script to supervise your action needs to be placed in
 <code class="file docutils literal notranslate"><span class="pre">&lt;SOURCE&gt;/actions/tests</span></code> and follow the naming convention
 <code class="file docutils literal notranslate"><span class="pre">test_action_&lt;NAME&gt;.py</span></code>, where <code class="file docutils literal notranslate"><span class="pre">&lt;NAME&gt;</span></code> is the name for your
 action. So here we create a file <code class="file docutils literal notranslate"><span class="pre">test_action_do_awesome.py</span></code> (recognise
 the underscore between <code class="docutils literal notranslate"><span class="pre">do</span></code> and <code class="docutils literal notranslate"><span class="pre">awesome</span></code> instead of a hyphen, that’s
 <a class="reference external" href="https://www.python.org/dev/peps/pep-0008/">PEP 8</a>).</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> touch &lt;SOURCE&gt;/actions/tests/test_action_do_awesome.py
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>touch<span class="w"> </span>&lt;SOURCE&gt;/actions/tests/test_action_do_awesome.py
 <span class="gp">$</span>
 </pre></div>
 </div>
 <p>As a starter, we disable bytecode compilation in the script:</p>
-<div class="highlight-default notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
-2
-3
-4
-5</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">sys</span>
-
-<span class="c1"># this is needed so there will be no test_actions.pyc created in the source</span>
-<span class="c1"># directory</span>
-<span class="n">sys</span><span class="o">.</span><span class="n">dont_write_bytecode</span> <span class="o">=</span> <span class="kc">True</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="linenos">1</span><span class="kn">import</span> <span class="nn">sys</span>
+<span class="linenos">2</span>
+<span class="linenos">3</span><span class="c1"># this is needed so there will be no test_actions.pyc created in the source</span>
+<span class="linenos">4</span><span class="c1"># directory</span>
+<span class="linenos">5</span><span class="n">sys</span><span class="o">.</span><span class="n">dont_write_bytecode</span> <span class="o">=</span> <span class="kc">True</span>
 </pre></div>
-</td></tr></table></div>
 </div>
-<div class="section" id="cmake-integration">
-<h3>CMake Integration<a class="headerlink" href="#cmake-integration" title="Permalink to this headline">¶</a></h3>
+</section>
+<section id="cmake-integration">
+<h3>CMake Integration<a class="headerlink" href="#cmake-integration" title="Permalink to this heading">¶</a></h3>
 <p>As always, when introducing new material to ProMod3, it has to be announced
 to the CMake build system. For action unit tests, fire up
 <code class="file docutils literal notranslate"><span class="pre">&lt;SOURCE&gt;/actions/tests/CMakeLists.txt</span></code> in your favourite text editor and
 add your new script:</p>
-<div class="highlight-cmake notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
-2
-3
-4
-5
-6
-7</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="nf">set(</span><span class="no">ACTION_UNIT_TESTS</span><span class="w"></span>
-<span class="w">  </span><span class="nb">test_action_help.py</span><span class="w"></span>
-<span class="hll"><span class="w">  </span><span class="nb">test_action_do_awesome.py</span><span class="w"></span>
-</span><span class="w">  </span><span class="nb">test_actions.py</span><span class="w"> </span><span class="c"># leave this as last item so it will be executed first!</span>
-<span class="nf">)</span><span class="w"></span>
-
-<span class="nf">promod3_unittest(</span><span class="no">MODULE</span><span class="w"> </span><span class="nb">actions</span><span class="w"> </span><span class="no">SOURCES</span><span class="w"> </span><span class="s">&quot;${ACTION_UNIT_TESTS}&quot;</span><span class="w"> </span><span class="no">TARGET</span><span class="w"> </span><span class="nb">actions</span><span class="nf">)</span><span class="w"></span>
+<div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="linenos">1</span><span class="nf">set(</span><span class="no">ACTION_UNIT_TESTS</span>
+<span class="linenos">2</span><span class="w">  </span><span class="nb">test_action_help.py</span>
+<span class="hll"><span class="linenos">3</span><span class="w">  </span><span class="nb">test_action_do_awesome.py</span>
+</span><span class="linenos">4</span><span class="w">  </span><span class="nb">test_actions.py</span><span class="w"> </span><span class="c"># leave this as last item so it will be executed first!</span>
+<span class="linenos">5</span><span class="nf">)</span>
+<span class="linenos">6</span>
+<span class="linenos">7</span><span class="nf">promod3_unittest(</span><span class="no">MODULE</span><span class="w"> </span><span class="nb">actions</span><span class="w"> </span><span class="no">SOURCES</span><span class="w"> </span><span class="s">&quot;${ACTION_UNIT_TESTS}&quot;</span><span class="w"> </span><span class="no">TARGET</span><span class="w"> </span><span class="nb">actions</span><span class="nf">)</span>
 </pre></div>
-</td></tr></table></div>
+</div>
 <p>The important thing is to leave <code class="file docutils literal notranslate"><span class="pre">test_actions.py</span></code> as last item in the
 list. This script contains the tests around the
 <a class="reference internal" href="#test_actions.ActionTestCase" title="test_actions.ActionTestCase"><code class="xref py py-class docutils literal notranslate"><span class="pre">test_actions.ActionTestCase</span></code></a> class, which is the foundation of the
 tests for your action. If this class is broken, we are lost. Putting it as the
 last element in the list, CMake will execute this script first, before any
 other action test script is run.</p>
-</div>
-<div class="section" id="creating-a-test-subclass">
-<h3>Creating a Test Subclass<a class="headerlink" href="#creating-a-test-subclass" title="Permalink to this headline">¶</a></h3>
+</section>
+<section id="creating-a-test-subclass">
+<h3>Creating a Test Subclass<a class="headerlink" href="#creating-a-test-subclass" title="Permalink to this heading">¶</a></h3>
 <p><a class="reference internal" href="#test_actions.ActionTestCase" title="test_actions.ActionTestCase"><code class="xref py py-class docutils literal notranslate"><span class="pre">test_actions.ActionTestCase</span></code></a> is sort of a template class for your
 tests. By spawning off from this you inherit a bunch of useful methods for your
 testing. To make it work, the childclass needs to be set up properly. But
 first, <code class="file docutils literal notranslate"><span class="pre">test_actions.py</span></code> has to be loaded as a module:</p>
-<div class="highlight-default notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>6</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">test_actions</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="linenos">6</span><span class="kn">import</span> <span class="nn">test_actions</span>
 </pre></div>
-</td></tr></table></div>
+</div>
 <p>To showcase, the test cases, we explain how one would (and does) test the
 <code class="docutils literal notranslate"><span class="pre">help</span></code> action of <code class="docutils literal notranslate"><span class="pre">pm</span></code>.
 First, we create the childclass for the action.
 Go for <code class="xref py py-class docutils literal notranslate"><span class="pre">&lt;NAME&gt;ActionTests</span></code> as a naming scheme:</p>
-<div class="highlight-default notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 7
- 8
- 9
-10</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">HelpActionTests</span><span class="p">(</span><span class="n">test_actions</span><span class="o">.</span><span class="n">ActionTestCase</span><span class="p">):</span>
-    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
-        <span class="n">test_actions</span><span class="o">.</span><span class="n">ActionTestCase</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">pm_action</span> <span class="o">=</span> <span class="s1">&#39;help&#39;</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="linenos"> 7</span><span class="k">class</span> <span class="nc">HelpActionTests</span><span class="p">(</span><span class="n">test_actions</span><span class="o">.</span><span class="n">ActionTestCase</span><span class="p">):</span>
+<span class="linenos"> 8</span>    <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+<span class="linenos"> 9</span>        <span class="n">test_actions</span><span class="o">.</span><span class="n">ActionTestCase</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
+<span class="linenos">10</span>        <span class="bp">self</span><span class="o">.</span><span class="n">pm_action</span> <span class="o">=</span> <span class="s1">&#39;help&#39;</span>
 </pre></div>
-</td></tr></table></div>
+</div>
 <p>Pay attention that in your own class, you must set <code class="xref py py-attr docutils literal notranslate"><span class="pre">pm_action</span></code> to make
 everything work. Also <code class="xref py py-meth docutils literal notranslate"><span class="pre">__init__()</span></code> needs certain parameters, as everything
-is derived from the <a class="reference external" href="https://docs.python.org/3.7/library/unittest.html#unittest.TestCase" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">unittest.TestCase</span></code></a> class.</p>
-</div>
-<div class="section" id="must-have-tests">
-<h3>Must Have Tests<a class="headerlink" href="#must-have-tests" title="Permalink to this headline">¶</a></h3>
+is derived from the <a class="reference external" href="https://docs.python.org/3.11/library/unittest.html#unittest.TestCase" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">unittest.TestCase</span></code></a> class.</p>
+</section>
+<section id="must-have-tests">
+<h3>Must Have Tests<a class="headerlink" href="#must-have-tests" title="Permalink to this heading">¶</a></h3>
 <p>What needs testing without exclusion are the exit codes of actions. Those
 states will be placed in the userlevel documentation. This topic is already
 covered in <a class="reference internal" href="#test_actions.ActionTestCase" title="test_actions.ActionTestCase"><code class="xref py py-class docutils literal notranslate"><span class="pre">test_actions.ActionTestCase</span></code></a> by <a class="reference internal" href="#test_actions.ActionTestCase.RunExitStatusTest" title="test_actions.ActionTestCase.RunExitStatusTest"><code class="xref py py-meth docutils literal notranslate"><span class="pre">RunExitStatusTest()</span></code></a>.
 As an example, testing for <code class="docutils literal notranslate"><span class="pre">$?=0</span></code> could work like this:</p>
-<div class="highlight-default notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>11
-12</pre></div></td><td class="code"><div class="highlight"><pre><span></span>    <span class="k">def</span> <span class="nf">testExit0</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">RunExitStatusTest</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="nb">list</span><span class="p">())</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="linenos">11</span>    <span class="k">def</span> <span class="nf">testExit0</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<span class="linenos">12</span>        <span class="bp">self</span><span class="o">.</span><span class="n">RunExitStatusTest</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="nb">list</span><span class="p">())</span>
 </pre></div>
-</td></tr></table></div>
+</div>
 <p>That will call the action stored in <code class="xref py py-attr docutils literal notranslate"><span class="pre">pm_action</span></code> with the provided list of
 parameters and check that <code class="docutils literal notranslate"><span class="pre">0</span></code> is returned on the command line.</p>
 <p>In a more general way, you need to test that your action is working as
 intended. Do not forget some negative testing, with the idea in mind what
 happens if a user throws dirty input data in.</p>
-</div>
-<div class="section" id="making-the-script-executable">
-<h3>Making the Script Executable<a class="headerlink" href="#making-the-script-executable" title="Permalink to this headline">¶</a></h3>
-<p>In ProMod3, unit tests are run via <a class="reference external" href="https://www.OpenStructure.org">OST</a>’s <a class="reference external" href="https://www.openstructure.org/docs/2.4/base/testutils/#module-ost.testutils" title="(in OpenStructure v2.4.0)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ost.testutils</span></code></a> and Python’s
-<a class="reference external" href="https://docs.python.org/3.7/library/unittest.html#unittest.TestCase" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">unittest.TestCase</span></code></a>. Those are called when the test module is executed
+</section>
+<section id="making-the-script-executable">
+<h3>Making the Script Executable<a class="headerlink" href="#making-the-script-executable" title="Permalink to this heading">¶</a></h3>
+<p>In ProMod3, unit tests are run via <a class="reference external" href="https://www.OpenStructure.org">OST</a>’s <a class="reference external" href="https://openstructure.org/docs/2.9.2/base/testutils/#module-ost.testutils" title="(in OpenStructure v2.9.2)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ost.testutils</span></code></a> and Python’s
+<a class="reference external" href="https://docs.python.org/3.11/library/unittest.html#unittest.TestCase" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">unittest.TestCase</span></code></a>. Those are called when the test module is executed
 as a script:</p>
-<div class="highlight-default notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>13
-14
-15</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s2">&quot;__main__&quot;</span><span class="p">:</span>
-    <span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">testutils</span>
-    <span class="n">testutils</span><span class="o">.</span><span class="n">RunTests</span><span class="p">()</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="linenos">13</span><span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s2">&quot;__main__&quot;</span><span class="p">:</span>
+<span class="linenos">14</span>    <span class="kn">from</span> <span class="nn">ost</span> <span class="kn">import</span> <span class="n">testutils</span>
+<span class="linenos">15</span>    <span class="n">testutils</span><span class="o">.</span><span class="n">RunTests</span><span class="p">()</span>
 </pre></div>
-</td></tr></table></div>
-<p>These three lines should be the same for all unit tests.</p>
 </div>
-<div class="section" id="running-the-test-script">
-<h3>Running the Test Script<a class="headerlink" href="#running-the-test-script" title="Permalink to this headline">¶</a></h3>
+<p>These three lines should be the same for all unit tests.</p>
+</section>
+<section id="running-the-test-script">
+<h3>Running the Test Script<a class="headerlink" href="#running-the-test-script" title="Permalink to this heading">¶</a></h3>
 <p>Unit tests are executed via <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">check</span></code> and so are ProMod3 action tests.
 But for every test script, we also provide a private <code class="docutils literal notranslate"><span class="pre">make</span></code> target, ending
 with <code class="file docutils literal notranslate"><span class="pre">_run</span></code>. To solely run the tests for the awesome action, hit</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> make test_action_do_awesome.py_run
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>make<span class="w"> </span>test_action_do_awesome.py_run
 </pre></div>
 </div>
-</div>
-<div class="section" id="output-of-test-actions-actiontestcase">
-<h3>Output Of <a class="reference internal" href="#test_actions.ActionTestCase" title="test_actions.ActionTestCase"><code class="xref py py-class docutils literal notranslate"><span class="pre">test_actions.ActionTestCase</span></code></a><a class="headerlink" href="#output-of-test-actions-actiontestcase" title="Permalink to this headline">¶</a></h3>
+</section>
+<section id="output-of-test-actions-actiontestcase">
+<h3>Output Of <a class="reference internal" href="#test_actions.ActionTestCase" title="test_actions.ActionTestCase"><code class="xref py py-class docutils literal notranslate"><span class="pre">test_actions.ActionTestCase</span></code></a><a class="headerlink" href="#output-of-test-actions-actiontestcase" title="Permalink to this heading">¶</a></h3>
 <p>When running the test script you will notice that its not really talkative.
 Basically you do not see output to <code class="file docutils literal notranslate"><span class="pre">stdout</span></code>/ <code class="file docutils literal notranslate"><span class="pre">stderr</span></code> of your
 action, while the test script fires it a couple of times. That is by design.
@@ -218,20 +201,18 @@ parameter <code class="xref py py-attr docutils literal notranslate"><span class
 output onto the command line. The idea is to turn it on for development, but
 once done, disable it to keep output of unit tests low.</p>
 <p>To get the test for exit code <code class="docutils literal notranslate"><span class="pre">0</span></code> talking to you, just do</p>
-<div class="highlight-default notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>11
-12</pre></div></td><td class="code"><div class="highlight"><pre><span></span>    <span class="k">def</span> <span class="nf">testExit0</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">RunExitStatusTest</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="nb">list</span><span class="p">(),</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="linenos">11</span>    <span class="k">def</span> <span class="nf">testExit0</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<span class="linenos">12</span>        <span class="bp">self</span><span class="o">.</span><span class="n">RunExitStatusTest</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="nb">list</span><span class="p">(),</span> <span class="n">verbose</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
 </pre></div>
-</td></tr></table></div>
+</div>
 <p>and</p>
-<div class="highlight-default notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>11
-12</pre></div></td><td class="code"><div class="highlight"><pre><span></span>    <span class="k">def</span> <span class="nf">testExit0</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">RunExitStatusTest</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="nb">list</span><span class="p">())</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="linenos">11</span>    <span class="k">def</span> <span class="nf">testExit0</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<span class="linenos">12</span>        <span class="bp">self</span><span class="o">.</span><span class="n">RunExitStatusTest</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="nb">list</span><span class="p">())</span>
 </pre></div>
-</td></tr></table></div>
+</div>
 <p>keeps it silent (<code class="xref py py-attr docutils literal notranslate"><span class="pre">verbose</span></code> is set to <code class="docutils literal notranslate"><span class="pre">False</span></code> by default). If enabled,
 output will be separated into <code class="file docutils literal notranslate"><span class="pre">stdout</span></code> and <code class="file docutils literal notranslate"><span class="pre">stderr</span></code>:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> make test_action_do_awesome.py_run
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>make<span class="w"> </span>test_action_do_awesome.py_run
 <span class="go">&lt;Lots of output from the build process&gt;</span>
 <span class="go">running checks test_action_do_awesome.py</span>
 <span class="go">stdout of &#39;&lt;BUILD&gt;/stage/bin/pm do-awesome&#39;</span>
@@ -245,96 +226,82 @@ output will be separated into <code class="file docutils literal notranslate"><s
 <span class="go">&lt;More output from unit test runner&gt;</span>
 </pre></div>
 </div>
-</div>
-</div>
-<div class="section" id="unit-test-actions-api">
-<h2>Unit Test Actions API<a class="headerlink" href="#unit-test-actions-api" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="test_actions.ActionTestCase">
-<em class="property">class </em><code class="descclassname">test_actions.</code><code class="descname">ActionTestCase</code><span class="sig-paren">(</span><em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#test_actions.ActionTestCase" title="Permalink to this definition">¶</a></dt>
+</section>
+</section>
+<section id="unit-test-actions-api">
+<h2>Unit Test Actions API<a class="headerlink" href="#unit-test-actions-api" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="test_actions.ActionTestCase">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">test_actions.</span></span><span class="sig-name descname"><span class="pre">ActionTestCase</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#test_actions.ActionTestCase" title="Permalink to this definition">¶</a></dt>
 <dd><p>Class to help developing actions. Comes with a lot of convenience wrappers
 around what should be tested and serves as a recorder for test calls…
 just for in two years when you come back to rewrite the whole action…</p>
 <p>While inheriting this class, <a class="reference internal" href="#test_actions.ActionTestCase.pm_action" title="test_actions.ActionTestCase.pm_action"><code class="xref py py-attr docutils literal notranslate"><span class="pre">pm_action</span></code></a> needs to be defined.
 Otherwise the whole idea does not work.</p>
-<dl class="attribute">
-<dt id="test_actions.ActionTestCase.pm_bin">
-<code class="descname">pm_bin</code><a class="headerlink" href="#test_actions.ActionTestCase.pm_bin" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="test_actions.ActionTestCase.pm_bin">
+<span class="sig-name descname"><span class="pre">pm_bin</span></span><a class="headerlink" href="#test_actions.ActionTestCase.pm_bin" title="Permalink to this definition">¶</a></dt>
 <dd><p>This is the path of the <code class="docutils literal notranslate"><span class="pre">pm</span></code> binary. Automatically set by calling
 <code class="xref py py-meth docutils literal notranslate"><span class="pre">__init__()</span></code> inside the initialisation of your class.</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="test_actions.ActionTestCase.pm_action">
-<code class="descname">pm_action</code><a class="headerlink" href="#test_actions.ActionTestCase.pm_action" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="test_actions.ActionTestCase.pm_action">
+<span class="sig-name descname"><span class="pre">pm_action</span></span><a class="headerlink" href="#test_actions.ActionTestCase.pm_action" title="Permalink to this definition">¶</a></dt>
 <dd><p>The action to be tested. Needs to be set by your initialisation routine,
 <strong>after</strong> calling <code class="xref py py-meth docutils literal notranslate"><span class="pre">__init__()</span></code> from here. Skip the
 “pm-” in front of the action name.</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="test_actions.ActionTestCase.RunAction">
-<code class="descname">RunAction</code><span class="sig-paren">(</span><em>arguments</em>, <em>verbose=False</em><span class="sig-paren">)</span><a class="headerlink" href="#test_actions.ActionTestCase.RunAction" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="test_actions.ActionTestCase.RunAction">
+<span class="sig-name descname"><span class="pre">RunAction</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">arguments</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#test_actions.ActionTestCase.RunAction" title="Permalink to this definition">¶</a></dt>
 <dd><p>Call an action, return the exit status (<code class="docutils literal notranslate"><span class="pre">$?</span></code> shell variable). May be
 set to <code class="docutils literal notranslate"><span class="pre">verbose</span></code> to print the actions terminal output. The action to
 be executed needs to be stored in <a class="reference internal" href="#test_actions.ActionTestCase.pm_action" title="test_actions.ActionTestCase.pm_action"><code class="xref py py-attr docutils literal notranslate"><span class="pre">pm_action</span></code></a> first.</p>
 <p>If in verbose mode, output to <code class="file docutils literal notranslate"><span class="pre">stdout</span></code> of the action will be
 printed first followed by <code class="file docutils literal notranslate"><span class="pre">stderr</span></code>.</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>arguments</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – A list of arguments for the call.</li>
-<li><strong>verbose</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If <code class="docutils literal notranslate"><span class="pre">True</span></code>, report output of the action.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>arguments</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – A list of arguments for the call.</p></li>
+<li><p><strong>verbose</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If <code class="docutils literal notranslate"><span class="pre">True</span></code>, report output of the action.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">The exit code of the action (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>).</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The exit code of the action (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>).</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="test_actions.ActionTestCase.RunExitStatusTest">
-<code class="descname">RunExitStatusTest</code><span class="sig-paren">(</span><em>exit_code</em>, <em>arguments</em>, <em>verbose=False</em><span class="sig-paren">)</span><a class="headerlink" href="#test_actions.ActionTestCase.RunExitStatusTest" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="test_actions.ActionTestCase.RunExitStatusTest">
+<span class="sig-name descname"><span class="pre">RunExitStatusTest</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">exit_code</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arguments</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">verbose</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#test_actions.ActionTestCase.RunExitStatusTest" title="Permalink to this definition">¶</a></dt>
 <dd><p>Run the action with given arguments and check the exit code.</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>exit_code</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The expected return code, <code class="docutils literal notranslate"><span class="pre">$?</span></code> in a shell.</li>
-<li><strong>arguments</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – A list of arguments for the call.</li>
-<li><strong>verbose</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If <code class="docutils literal notranslate"><span class="pre">True</span></code>, report output of the action.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>exit_code</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The expected return code, <code class="docutils literal notranslate"><span class="pre">$?</span></code> in a shell.</p></li>
+<li><p><strong>arguments</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – A list of arguments for the call.</p></li>
+<li><p><strong>verbose</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If <code class="docutils literal notranslate"><span class="pre">True</span></code>, report output of the action.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="test_actions.ActionTestCase.testPMExists">
-<code class="descname">testPMExists</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#test_actions.ActionTestCase.testPMExists" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="test_actions.ActionTestCase.testPMExists">
+<span class="sig-name descname"><span class="pre">testPMExists</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#test_actions.ActionTestCase.testPMExists" title="Permalink to this definition">¶</a></dt>
 <dd><p>This is an internal test, executed when the source code of the test
 class is run as unit test. Verifies that <a class="reference internal" href="#test_actions.ActionTestCase.pm_bin" title="test_actions.ActionTestCase.pm_bin"><code class="xref py py-attr docutils literal notranslate"><span class="pre">pm_bin</span></code></a> is an existing
 file (also complains if a directory is found instead).</p>
@@ -342,11 +309,12 @@ file (also complains if a directory is found instead).</p>
 
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -383,27 +351,33 @@ file (also complains if a directory is found instead).</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/actions/index_dev.rst.txt"
diff --git a/doc/html/buildsystem.html b/doc/html/buildsystem.html
index d43a812e52dd74d5d9a7d18e3ce91fc7e7342621..985e2e9eddfef85e7220efa312933c0b475b6a40 100644
--- a/doc/html/buildsystem.html
+++ b/doc/html/buildsystem.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Building ProMod3 &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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>
-    <script type="text/javascript" src="_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Building ProMod3 &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
+    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+    <script src="_static/jquery.js"></script>
+    <script src="_static/underscore.js"></script>
+    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="_static/doctools.js"></script>
+    <script src="_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="next" title="ProMod3 and Containers" href="container/index.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,14 +31,16 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="building-project">
-<span id="building-promod"></span><h1>Building ProMod3<a class="headerlink" href="#building-project" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="dependencies">
-<h2>Dependencies<a class="headerlink" href="#dependencies" title="Permalink to this headline">¶</a></h2>
+  <section id="building-project">
+<span id="building-promod"></span><h1>Building ProMod3<a class="headerlink" href="#building-project" title="Permalink to this heading">¶</a></h1>
+<section id="dependencies">
+<h2>Dependencies<a class="headerlink" href="#dependencies" title="Permalink to this heading">¶</a></h2>
 <p>ProMod3 is build on top of <a class="reference external" href="https://www.OpenStructure.org">OpenStructure</a> (OST), requiring at least version
-2.5.0. OST must be configured and compiled with <code class="docutils literal notranslate"><span class="pre">ENABLE_MM=1</span></code> to
+2.10.0. OST must be configured and compiled with <code class="docutils literal notranslate"><span class="pre">ENABLE_MM=1</span></code> to
 use <a class="reference external" href="https://github.com/openmm/openmm">OpenMM</a>. To create the build system, <a class="reference external" href="https://cmake.org/">CMake</a> is required. The same
 versions of <a class="reference external" href="https://www.python.org/">Python</a> and <a class="reference external" href="https://www.boost.org/">Boost</a> are needed as used in OST. For <a class="reference external" href="http://eigen.tuxfamily.org/index.php?title=Main_Page">Eigen 3</a>
 we need at least version 3.3.0. To build the documentation, <a class="reference external" href="http://sphinx-doc.org/">Sphinx</a> is
@@ -46,26 +49,26 @@ release supporting Python 2.7 is 2.1.0 which also requires OST to be
 compiled with Python 2.7.</p>
 <p>The currently preferred versions are:</p>
 <ul class="simple">
-<li><a class="reference external" href="https://www.OpenStructure.org">OST</a> 2.5.0</li>
-<li><a class="reference external" href="https://github.com/openmm/openmm">OpenMM</a> 7.1.1</li>
-<li><a class="reference external" href="https://cmake.org/">CMake</a> 3.12.1</li>
-<li><a class="reference external" href="https://www.python.org/">Python</a> 3.6.0</li>
-<li><a class="reference external" href="https://www.boost.org/">Boost</a> 1.68.0</li>
-<li><a class="reference external" href="http://eigen.tuxfamily.org/index.php?title=Main_Page">Eigen 3</a> 3.3.1</li>
-<li><a class="reference external" href="http://sphinx-doc.org/">Sphinx</a> 1.4.9</li>
+<li><p><a class="reference external" href="https://www.OpenStructure.org">OST</a> 2.10.0</p></li>
+<li><p><a class="reference external" href="https://github.com/openmm/openmm">OpenMM</a> 7.1.1</p></li>
+<li><p><a class="reference external" href="https://cmake.org/">CMake</a> 3.12.1</p></li>
+<li><p><a class="reference external" href="https://www.python.org/">Python</a> 3.6.0</p></li>
+<li><p><a class="reference external" href="https://www.boost.org/">Boost</a> 1.68.0</p></li>
+<li><p><a class="reference external" href="http://eigen.tuxfamily.org/index.php?title=Main_Page">Eigen 3</a> 3.3.1</p></li>
+<li><p><a class="reference external" href="http://sphinx-doc.org/">Sphinx</a> 1.4.9</p></li>
 </ul>
-</div>
-<div class="section" id="using-cmake">
-<h2>Using CMake<a class="headerlink" href="#using-cmake" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="using-cmake">
+<h2>Using CMake<a class="headerlink" href="#using-cmake" title="Permalink to this heading">¶</a></h2>
 <p>CMake is used to configure the build system and in the end produces makefiles
 and certain directories needed for building ProMod3. Basically it is called
 right from a shell with the directory containing the top-level
 <code class="file docutils literal notranslate"><span class="pre">CMakeLists.txt</span></code> as an argument. The preferred approach is to generate a
 build folder and configure and compile in there:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">#</span> execute this in the ProMod3 root folder
-<span class="gp">$</span> mkdir build
-<span class="gp">$</span> <span class="nb">cd</span> build
-<span class="gp">$</span> cmake .. -DOST_ROOT<span class="o">=</span>&lt;PATH TO OST&gt;
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp"># </span>execute<span class="w"> </span>this<span class="w"> </span><span class="k">in</span><span class="w"> </span>the<span class="w"> </span>ProMod3<span class="w"> </span>root<span class="w"> </span>folder
+<span class="gp">$ </span>mkdir<span class="w"> </span>build
+<span class="gp">$ </span><span class="nb">cd</span><span class="w"> </span>build
+<span class="gp">$ </span>cmake<span class="w"> </span>..<span class="w"> </span>-DOST_ROOT<span class="o">=</span>&lt;PATH<span class="w"> </span>TO<span class="w"> </span>OST&gt;
 </pre></div>
 </div>
 <p>For us, at least pointer to the OST installation directory is needed,
@@ -77,15 +80,15 @@ These are set with the <code class="docutils literal notranslate"><span class="p
 <code class="docutils literal notranslate"><span class="pre">Python_ROOT_DIR</span></code> and <code class="docutils literal notranslate"><span class="pre">EIGEN3_INCLUDE_DIR</span></code>.</p>
 <p>Here is a list of more options used within ProMod3:</p>
 <ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">DISABLE_DOCUMENTATION</span></code> Don’t build documentation, don’t search for Sphinx</li>
-<li><code class="docutils literal notranslate"><span class="pre">DISABLE_DOCTEST</span></code> Don’t run example code from documentation on
-<code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">check</span></code> (implicit by <code class="docutils literal notranslate"><span class="pre">DISABLE_DOCUMENTATION</span></code>)</li>
-<li><code class="docutils literal notranslate"><span class="pre">DISABLE_LINKCHECK</span></code> Don’t test links from documentation on <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">check</span></code>
-(implicit by <code class="docutils literal notranslate"><span class="pre">DISABLE_DOCUMENTATION</span></code>)</li>
-<li><code class="docutils literal notranslate"><span class="pre">ENABLE_SSE</span></code> Allow for more agressive optimization by adding -msse4 flag to
+<li><p><code class="docutils literal notranslate"><span class="pre">DISABLE_DOCUMENTATION</span></code> Don’t build documentation, don’t search for Sphinx</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">DISABLE_DOCTEST</span></code> Don’t run example code from documentation on
+<code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">check</span></code> (implicit by <code class="docutils literal notranslate"><span class="pre">DISABLE_DOCUMENTATION</span></code>)</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">DISABLE_LINKCHECK</span></code> Don’t test links from documentation on <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">check</span></code>
+(implicit by <code class="docutils literal notranslate"><span class="pre">DISABLE_DOCUMENTATION</span></code>)</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">ENABLE_SSE</span></code> Allow for more agressive optimization by adding -msse4 flag to
 the compiler. At some places within the code, we use SSE intrinsics explicitely.
 This is only enabled if OST has been compiled with single precision.
-(<code class="docutils literal notranslate"><span class="pre">OST_DOUBLE_PRECISION</span></code> flag)</li>
+(<code class="docutils literal notranslate"><span class="pre">OST_DOUBLE_PRECISION</span></code> flag)</p></li>
 </ul>
 <p>Since we use OST in the background, some of its options for CMake are
 also relevant, here. Basically they need to be set to exactly the same value.
@@ -93,8 +96,8 @@ Even if ProMod3 builds with different settings, it may start producing funny
 results at an unexpected point. If you do not know the values, grep the option
 in the <code class="file docutils literal notranslate"><span class="pre">CMakeCache.txt</span></code> of OST:</p>
 <ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">OPTIMIZE</span></code></li>
-<li><code class="docutils literal notranslate"><span class="pre">OST_DOUBLE_PRECISION</span></code></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">OPTIMIZE</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">OST_DOUBLE_PRECISION</span></code></p></li>
 </ul>
 <p>Instead of calling CMake by yourself, there is the <code class="file docutils literal notranslate"><span class="pre">conf-scripts</span></code>
 directory, providing smallish scripts to invoke CMake the right way for
@@ -105,11 +108,11 @@ This way, you can have several builds with different configurations. Also if
 anything goes wrong, just remove the build directory to get to a clean state
 again. No searching for CMake cache files or checking if certain files
 really got rebuild and similar things required.</p>
-</div>
-<div class="section" id="running-make">
-<h2>Running Make<a class="headerlink" href="#running-make" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="running-make">
+<h2>Running Make<a class="headerlink" href="#running-make" title="Permalink to this heading">¶</a></h2>
 <p>After configuring, you want to build ProMod3 by</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> make
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>make
 </pre></div>
 </div>
 <p>to populate the <code class="file docutils literal notranslate"><span class="pre">stage</span></code> directory with a ready-to-go version of the
@@ -117,23 +120,23 @@ latest code.</p>
 <p id="index-0">Beside the usual <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">all</span></code> and other default targets, there are a few
 special targets:</p>
 <ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">check</span></code> <span class="target" id="index-1"></span>make check Runs unit tests and if CMake was invoked in
+<li><p><code class="docutils literal notranslate"><span class="pre">check</span></code> <span class="target" id="index-1"></span>make check Runs unit tests and if CMake was invoked in
 its standard configuration also documentation examples (<code class="docutils literal notranslate"><span class="pre">doctest</span></code>) and
-links in the doc. (<code class="docutils literal notranslate"><span class="pre">linkcheck</span></code>) are checked</li>
-<li><code class="docutils literal notranslate"><span class="pre">html</span></code> <span class="target" id="index-2"></span>make html Creates documentation as web page using the
-Sphinx <code class="docutils literal notranslate"><span class="pre">html</span></code> builder</li>
-<li><code class="docutils literal notranslate"><span class="pre">man</span></code> <span class="target" id="index-3"></span>make man Creates a manual page using the Sphinx <code class="docutils literal notranslate"><span class="pre">man</span></code>
-builder</li>
-<li><code class="docutils literal notranslate"><span class="pre">doc</span></code> <span class="target" id="index-4"></span>make doc Creates documentation using the <code class="docutils literal notranslate"><span class="pre">html</span></code> and
-<code class="docutils literal notranslate"><span class="pre">man</span></code> targets</li>
-<li><code class="docutils literal notranslate"><span class="pre">help</span></code> <span class="target" id="index-5"></span>make help Prints a list of targets available</li>
+links in the doc. (<code class="docutils literal notranslate"><span class="pre">linkcheck</span></code>) are checked</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">html</span></code> <span class="target" id="index-2"></span>make html Creates documentation as web page using the
+Sphinx <code class="docutils literal notranslate"><span class="pre">html</span></code> builder</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">man</span></code> <span class="target" id="index-3"></span>make man Creates a manual page using the Sphinx <code class="docutils literal notranslate"><span class="pre">man</span></code>
+builder</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">doc</span></code> <span class="target" id="index-4"></span>make doc Creates documentation using the <code class="docutils literal notranslate"><span class="pre">html</span></code> and
+<code class="docutils literal notranslate"><span class="pre">man</span></code> targets</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">help</span></code> <span class="target" id="index-5"></span>make help Prints a list of targets available</p></li>
 </ul>
-</div>
-<div class="section" id="installing-project">
-<h2>Installing ProMod3<a class="headerlink" href="#installing-project" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="installing-project">
+<h2>Installing ProMod3<a class="headerlink" href="#installing-project" title="Permalink to this heading">¶</a></h2>
 <p>If you wish to install ProMod3 (note that you can also safely keep it all in
 the <code class="file docutils literal notranslate"><span class="pre">stage</span></code> directory), you can use</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> make install
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>make<span class="w"> </span>install
 </pre></div>
 </div>
 <p>By default, this will copy the <code class="file docutils literal notranslate"><span class="pre">stage</span></code> directory to <code class="file docutils literal notranslate"><span class="pre">/usr/local</span></code>. To
@@ -144,11 +147,12 @@ ensure that everything works, you can use a set of automated “sanity checks”
 Please follow the instructions in <code class="file docutils literal notranslate"><span class="pre">extras/sanity_checks/README</span></code> to setup
 and run those tests after moving the source folder. If everything works, you can
 safely delete the whole source folder.</p>
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -169,12 +173,12 @@ safely delete the whole source folder.</p>
 <li class="toctree-l2"><a class="reference internal" href="actions/index.html">ProMod3 Actions</a></li>
 <li class="toctree-l2 current"><a class="current reference internal" href="#">Building ProMod3</a></li>
 <li class="toctree-l2"><a class="reference internal" href="container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -198,27 +202,33 @@ safely delete the whole source folder.</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="_sources/buildsystem.rst.txt"
diff --git a/doc/html/changelog.html b/doc/html/changelog.html
index 4edb3657140d2706111b7ea2c40b460e91d956b7..442ae80c8da7596a0237ff3b75b9698f08653569 100644
--- a/doc/html/changelog.html
+++ b/doc/html/changelog.html
@@ -1,26 +1,27 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Changelog &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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>
-    <script type="text/javascript" src="_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Changelog &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
+    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+    <script src="_static/jquery.js"></script>
+    <script src="_static/underscore.js"></script>
+    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="_static/doctools.js"></script>
+    <script src="_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="prev" title="References" href="references.html" />
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -29,188 +30,215 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="changelog">
-<h1>Changelog<a class="headerlink" href="#changelog" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="release-3-3-1">
-<h2>Release 3.3.1<a class="headerlink" href="#release-3-3-1" title="Permalink to this headline">¶</a></h2>
+  <section id="changelog">
+<h1>Changelog<a class="headerlink" href="#changelog" title="Permalink to this heading">¶</a></h1>
+<section id="release-3-4-2">
+<h2>Release 3.4.2<a class="headerlink" href="#release-3-4-2" title="Permalink to this heading">¶</a></h2>
 <ul class="simple">
-<li>Bugfix release: Updates OpenStructure dependency to 2.5.0 and fixes issues
-with Singularity container.</li>
+<li><p>Bugfix release: Updates OpenStructure dependency to 2.9.1, exposes
+keep_sidechain flag in promod3.modelling.BuildSidechains.</p></li>
 </ul>
-</div>
-<div class="section" id="release-3-3-0">
-<h2>Release 3.3.0<a class="headerlink" href="#release-3-3-0" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="release-3-4-1">
+<h2>Release 3.4.1<a class="headerlink" href="#release-3-4-1" title="Permalink to this heading">¶</a></h2>
+<ul class="simple">
+<li><p>Bugfix release: Updates OpenStructure dependency to 2.8.0, fixes issues
+regarding Singularity container and unit tests.</p></li>
+</ul>
+</section>
+<section id="release-3-4-0">
+<h2>Release 3.4.0<a class="headerlink" href="#release-3-4-0" title="Permalink to this heading">¶</a></h2>
+<ul class="simple">
+<li><p>Sidechains and BackboneLists now use bond length and angle parameters that are
+extracted from a non-redundant set of high resolution X-ray structures.
+IC data from CHARMM36 was used before. The new parameters slightly improve
+sidechain modelling accuracy.</p></li>
+<li><p>Several minor bug fixes and improvements</p></li>
+</ul>
+</section>
+<section id="release-3-3-1">
+<h2>Release 3.3.1<a class="headerlink" href="#release-3-3-1" title="Permalink to this heading">¶</a></h2>
 <ul class="simple">
-<li>Check for and report non-planar rings in the modelling result. This check is
+<li><p>Bugfix release: Updates OpenStructure dependency to 2.5.0 and fixes issues
+with Singularity container.</p></li>
+</ul>
+</section>
+<section id="release-3-3-0">
+<h2>Release 3.3.0<a class="headerlink" href="#release-3-3-0" title="Permalink to this heading">¶</a></h2>
+<ul class="simple">
+<li><p>Check for and report non-planar rings in the modelling result. This check is
 also incorporated in energy minimization, potentially increasing the number
-of minimization steps.</li>
-<li>Algorithms using large model databases as template libraries for modelling.
+of minimization steps.</p></li>
+<li><p>Algorithms using large model databases as template libraries for modelling.
 Sequence search: PentaMatch, a k-mer based sequence search with extreme speed
 but low sensitivity (similar implementation as
 <a class="reference external" href="https://www.rbvi.ucsf.edu/chimerax/data/kmer-aug2022/kmer_search.html">https://www.rbvi.ucsf.edu/chimerax/data/kmer-aug2022/kmer_search.html</a>).
 Structure storage: FSStructureServer, an OMF (OpenStructure Minimal Format)
-based structure storage that compresses AFDB v4 (214E6 entries) to 1.4TB.</li>
-<li>Several minor bug fixes, improvements, and speed-ups.</li>
+based structure storage that compresses AFDB v4 (214E6 entries) to 1.4TB.</p></li>
+<li><p>Several minor bug fixes, improvements, and speed-ups.</p></li>
 </ul>
-</div>
-<div class="section" id="release-3-2-1">
-<h2>Release 3.2.1<a class="headerlink" href="#release-3-2-1" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="release-3-2-1">
+<h2>Release 3.2.1<a class="headerlink" href="#release-3-2-1" title="Permalink to this heading">¶</a></h2>
 <ul class="simple">
-<li>Bugfix release: Updates OpenStructure dependency to 2.3.0</li>
+<li><p>Bugfix release: Updates OpenStructure dependency to 2.3.0</p></li>
 </ul>
-</div>
-<div class="section" id="release-3-2-0">
-<h2>Release 3.2.0<a class="headerlink" href="#release-3-2-0" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="release-3-2-0">
+<h2>Release 3.2.0<a class="headerlink" href="#release-3-2-0" title="Permalink to this heading">¶</a></h2>
 <ul class="simple">
-<li>Remove outdated configuration scripts (Fedora 19 / ancient Mac)</li>
-<li>Construct CB atoms if only N,CA and C atoms are present in
-ReconstructSidechains input structure.</li>
-<li>Detect Python using functionality provided by CMake instead of our own code.
+<li><p>Remove outdated configuration scripts (Fedora 19 / ancient Mac)</p></li>
+<li><p>Construct CB atoms if only N,CA and C atoms are present in
+ReconstructSidechains input structure.</p></li>
+<li><p>Detect Python using functionality provided by CMake instead of our own code.
 You might have to adapt CMake flags when building ProMod3 to variables
-specified here: <a class="reference external" href="https://cmake.org/cmake/help/latest/module/FindPython.html">https://cmake.org/cmake/help/latest/module/FindPython.html</a></li>
-<li>Several minor bug fixes, improvements, and speed-ups.</li>
+specified here: <a class="reference external" href="https://cmake.org/cmake/help/latest/module/FindPython.html">https://cmake.org/cmake/help/latest/module/FindPython.html</a></p></li>
+<li><p>Several minor bug fixes, improvements, and speed-ups.</p></li>
 </ul>
-</div>
-<div class="section" id="release-3-1-1">
-<h2>Release 3.1.1<a class="headerlink" href="#release-3-1-1" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="release-3-1-1">
+<h2>Release 3.1.1<a class="headerlink" href="#release-3-1-1" title="Permalink to this heading">¶</a></h2>
 <ul class="simple">
-<li>Bugfix release: reintroduces backwards compatibility in BuildRawModel.
-See commit 0288eced23a9a541a88005a7ed30b8f019e06226 for details</li>
+<li><p>Bugfix release: reintroduces backwards compatibility in BuildRawModel.
+See commit 0288eced23a9a541a88005a7ed30b8f019e06226 for details</p></li>
 </ul>
-</div>
-<div class="section" id="release-3-1-0">
-<h2>Release 3.1.0<a class="headerlink" href="#release-3-1-0" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="release-3-1-0">
+<h2>Release 3.1.0<a class="headerlink" href="#release-3-1-0" title="Permalink to this heading">¶</a></h2>
 <ul class="simple">
-<li>Introduce alignment processing steps in BuildRawModel</li>
-<li>Several minor bug fixes, improvements, and speed-ups.</li>
+<li><p>Introduce alignment processing steps in BuildRawModel</p></li>
+<li><p>Several minor bug fixes, improvements, and speed-ups.</p></li>
 </ul>
-</div>
-<div class="section" id="release-3-0-0">
-<h2>Release 3.0.0<a class="headerlink" href="#release-3-0-0" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="release-3-0-0">
+<h2>Release 3.0.0<a class="headerlink" href="#release-3-0-0" title="Permalink to this heading">¶</a></h2>
 <ul class="simple">
-<li>First release supporting Python 3. Python 2 support has been dropped.</li>
-<li>Updated versions of dependencies.</li>
-<li>Reduced amount of warnings during compilation.</li>
-<li>Improved and simplified use of Docker and Singularity containers.</li>
-<li>Several minor bug fixes, improvements, and speed-ups.</li>
+<li><p>First release supporting Python 3. Python 2 support has been dropped.</p></li>
+<li><p>Updated versions of dependencies.</p></li>
+<li><p>Reduced amount of warnings during compilation.</p></li>
+<li><p>Improved and simplified use of Docker and Singularity containers.</p></li>
+<li><p>Several minor bug fixes, improvements, and speed-ups.</p></li>
 </ul>
-</div>
-<div class="section" id="release-2-1-0">
-<h2>Release 2.1.0<a class="headerlink" href="#release-2-1-0" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="release-2-1-0">
+<h2>Release 2.1.0<a class="headerlink" href="#release-2-1-0" title="Permalink to this heading">¶</a></h2>
 <ul class="simple">
-<li>This is expected to be the last release supporting Python 2.</li>
-<li>This project now requires a C++11 compatible compiler.</li>
-<li>Introduced VINA scoring function in the sidechain module. A scoring function
+<li><p>This is expected to be the last release supporting Python 2.</p></li>
+<li><p>This project now requires a C++11 compatible compiler.</p></li>
+<li><p>Introduced VINA scoring function in the sidechain module. A scoring function
 specific RotamerConstructor is provided that comes with extensive heuristics
-to parametrize arbitrary compounds.</li>
-<li>Motif finding algorithm to identify objects in 3D space, e.g. binding sites.
-The algorithm is based on principles of geometric hashing.</li>
-<li>Several minor bug fixes, improvements, and speed-ups</li>
+to parametrize arbitrary compounds.</p></li>
+<li><p>Motif finding algorithm to identify objects in 3D space, e.g. binding sites.
+The algorithm is based on principles of geometric hashing.</p></li>
+<li><p>Several minor bug fixes, improvements, and speed-ups</p></li>
 </ul>
-</div>
-<div class="section" id="release-2-0-0">
-<h2>Release 2.0.0<a class="headerlink" href="#release-2-0-0" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="release-2-0-0">
+<h2>Release 2.0.0<a class="headerlink" href="#release-2-0-0" title="Permalink to this heading">¶</a></h2>
 <ul class="simple">
-<li>Generalize particle scoring and rotamer construction in sidechain module.
+<li><p>Generalize particle scoring and rotamer construction in sidechain module.
 This simplifies the addition of other scoring functions in the future.
 Be aware of breaking changes introduced in the process!
 (SCWRLRotamerConstructor -&gt; SCWRL4RotamerConstructor, changed interface of
-Particle and RotamerConstructor classes).</li>
-<li>Enable possibility to use structural fragments in default modelling pipeline
-and build-model action</li>
-<li>Enable possibility to enforce full coverage models including termini without
-template coverage in default modelling pipeline and build-model action</li>
-<li>Modelling pipeline can track issues in the ModellingHandle object</li>
-<li>External example scripts can now be found in extras/external_scripts</li>
-<li>Improved support for recent compilers and libraries.</li>
-<li>Several minor bug fixes, improvements, and speed-ups</li>
+Particle and RotamerConstructor classes).</p></li>
+<li><p>Enable possibility to use structural fragments in default modelling pipeline
+and build-model action</p></li>
+<li><p>Enable possibility to enforce full coverage models including termini without
+template coverage in default modelling pipeline and build-model action</p></li>
+<li><p>Modelling pipeline can track issues in the ModellingHandle object</p></li>
+<li><p>External example scripts can now be found in extras/external_scripts</p></li>
+<li><p>Improved support for recent compilers and libraries.</p></li>
+<li><p>Several minor bug fixes, improvements, and speed-ups</p></li>
 </ul>
-</div>
-<div class="section" id="release-1-3-0">
-<h2>Release 1.3.0<a class="headerlink" href="#release-1-3-0" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="release-1-3-0">
+<h2>Release 1.3.0<a class="headerlink" href="#release-1-3-0" title="Permalink to this heading">¶</a></h2>
 <ul class="simple">
-<li>Apply Apache Version 2.0 License to the project</li>
-<li>2010 Dunbrack rotamer library has been replaced by an own backbone dependent
+<li><p>Apply Apache Version 2.0 License to the project</p></li>
+<li><p>2010 Dunbrack rotamer library has been replaced by an own backbone dependent
 rotamer library. All scripts required to reproduce the data are in
-extras/data_generation/rotamer_library</li>
-<li>Penultimate rotamer library has been replaced by an own backbone independent
+extras/data_generation/rotamer_library</p></li>
+<li><p>Penultimate rotamer library has been replaced by an own backbone independent
 rotamer library. All scripts required to reproduce the data are in
-extras/data_generation/rotamer_library</li>
-<li>SampleMonteCarlo function moved to Python. This makes it possible to provide
-sampler/closer/scorer/cooler objects implemented in both, Python and C++</li>
-<li>Action script for sidechain modelling</li>
-<li>Allow sequence profiles as input for build-model action script.</li>
-<li>Recipe for Docker / Singularity container</li>
-<li>Check peptide bonds when building a RawModel. Treat as gap if bond is
-stereochemically problematic despite being in sequence.</li>
-<li>Several minor bug fixes, improvements, and speed-ups</li>
+extras/data_generation/rotamer_library</p></li>
+<li><p>SampleMonteCarlo function moved to Python. This makes it possible to provide
+sampler/closer/scorer/cooler objects implemented in both, Python and C++</p></li>
+<li><p>Action script for sidechain modelling</p></li>
+<li><p>Allow sequence profiles as input for build-model action script.</p></li>
+<li><p>Recipe for Docker / Singularity container</p></li>
+<li><p>Check peptide bonds when building a RawModel. Treat as gap if bond is
+stereochemically problematic despite being in sequence.</p></li>
+<li><p>Several minor bug fixes, improvements, and speed-ups</p></li>
 </ul>
-</div>
-<div class="section" id="release-1-2-0">
-<h2>Release 1.2.0<a class="headerlink" href="#release-1-2-0" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="release-1-2-0">
+<h2>Release 1.2.0<a class="headerlink" href="#release-1-2-0" title="Permalink to this heading">¶</a></h2>
 <ul class="simple">
-<li>Graph optimizer has been separated from the sidechain module and can now be
+<li><p>Graph optimizer has been separated from the sidechain module and can now be
 used for arbitrary optimization problems. Available optimization algorithms
-are TreePack, AStar and MonteCarlo.</li>
-<li>Make it possible to distinguish between the scores of a loop towards a constant
+are TreePack, AStar and MonteCarlo.</p></li>
+<li><p>Make it possible to distinguish between the scores of a loop towards a constant
 environment (external scores) and the scores within the loop itself
-(internal scores).</li>
-<li>Most scores based on pairwise interactions are now pairwise decomposable.</li>
-<li>Disconnected loops at several locations can be scored at once.</li>
-<li>Avoid the usage of the DSSP executable and use the OpenStructure internal
-secondary structure assignment instead.</li>
-<li>Allow to decide whether the CB atom belongs to the actual rotamer or to the
+(internal scores).</p></li>
+<li><p>Most scores based on pairwise interactions are now pairwise decomposable.</p></li>
+<li><p>Disconnected loops at several locations can be scored at once.</p></li>
+<li><p>Avoid the usage of the DSSP executable and use the OpenStructure internal
+secondary structure assignment instead.</p></li>
+<li><p>Allow to decide whether the CB atom belongs to the actual rotamer or to the
 constant frame in sidechain optimization. This can be useful in design
 questions, where the identity of a rotamer is not given and you want to
-allow glycine or alanine.</li>
-<li>The naming of the entries in the StructureDB is not strictly limited to
-4 letter codes anymore, arbitrary strings can be used instead.</li>
-<li>Adding coordinates to the StructureDB does not require external tools anymore
-(msms, dssp etc.), internal implementations are used instead.</li>
-<li>The data that is stored in a StructureDB can be controlled at initialization,
-everything except the sequence and the actual coordinates is optional.</li>
-<li>Entries in the StructureDB can be removed again.</li>
-<li>Allow to search positions of arbitrary copies in DynamicSpatialOrganizer
-by providing RT operators.</li>
-<li>Several minor bug fixes, improvements, and speed-ups</li>
+allow glycine or alanine.</p></li>
+<li><p>The naming of the entries in the StructureDB is not strictly limited to
+4 letter codes anymore, arbitrary strings can be used instead.</p></li>
+<li><p>Adding coordinates to the StructureDB does not require external tools anymore
+(msms, dssp etc.), internal implementations are used instead.</p></li>
+<li><p>The data that is stored in a StructureDB can be controlled at initialization,
+everything except the sequence and the actual coordinates is optional.</p></li>
+<li><p>Entries in the StructureDB can be removed again.</p></li>
+<li><p>Allow to search positions of arbitrary copies in DynamicSpatialOrganizer
+by providing RT operators.</p></li>
+<li><p>Several minor bug fixes, improvements, and speed-ups</p></li>
 </ul>
-</div>
-<div class="section" id="release-1-1-0">
-<h2>Release 1.1.0<a class="headerlink" href="#release-1-1-0" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="release-1-1-0">
+<h2>Release 1.1.0<a class="headerlink" href="#release-1-1-0" title="Permalink to this heading">¶</a></h2>
 <ul class="simple">
-<li>Updated dependencies: need Eigen 3.3.0 and OST 1.7</li>
-<li>Changes in modelling pipeline: remove clashing loop candidates early, new
+<li><p>Updated dependencies: need Eigen 3.3.0 and OST 1.7</p></li>
+<li><p>Changes in modelling pipeline: remove clashing loop candidates early, new
 scores using sequence / structure profiles, new scoring weights, subrotamer
-optimization to reduce ring punches, and improved handling of ligands</li>
-<li>Improved build-model action to generate oligomeric models, input multiple
-files, and allow for residue offsets into structure files</li>
-<li>Improved computational runtime of relevant operations in pipeline (CCD,
+optimization to reduce ring punches, and improved handling of ligands</p></li>
+<li><p>Improved build-model action to generate oligomeric models, input multiple
+files, and allow for residue offsets into structure files</p></li>
+<li><p>Improved computational runtime of relevant operations in pipeline (CCD,
 scorers, backbone list operations), superpositions and loop candidate
-clustering</li>
-<li>High-level functionality moved consistently to modelling module</li>
-<li>New modelling algorithms: rigid blocks to compare structures and improved
-fragment sampling for de novo modelling</li>
-<li>New rotamer graph solvers for sidechains: AStar and Monte Carlo</li>
-<li>Refactored backbone scoring to simplify extensions</li>
-<li>Added all atom scoring with possibilities to reconstruct sidechains for
-selected loops, reconstruct hydrogens and minimize energy with MM</li>
-<li>Refactored backbone list to speed it up</li>
-<li>Added runtime profiling for developers</li>
-<li>Several minor bug fixes, improvements, and speed-ups</li>
+clustering</p></li>
+<li><p>High-level functionality moved consistently to modelling module</p></li>
+<li><p>New modelling algorithms: rigid blocks to compare structures and improved
+fragment sampling for de novo modelling</p></li>
+<li><p>New rotamer graph solvers for sidechains: AStar and Monte Carlo</p></li>
+<li><p>Refactored backbone scoring to simplify extensions</p></li>
+<li><p>Added all atom scoring with possibilities to reconstruct sidechains for
+selected loops, reconstruct hydrogens and minimize energy with MM</p></li>
+<li><p>Refactored backbone list to speed it up</p></li>
+<li><p>Added runtime profiling for developers</p></li>
+<li><p>Several minor bug fixes, improvements, and speed-ups</p></li>
 </ul>
-</div>
-<div class="section" id="release-1-0">
-<h2>Release 1.0<a class="headerlink" href="#release-1-0" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="release-1-0">
+<h2>Release 1.0<a class="headerlink" href="#release-1-0" title="Permalink to this heading">¶</a></h2>
 <ul class="simple">
-<li>Initial release of ProMod3 for use in productive instances of SMNG</li>
+<li><p>Initial release of ProMod3 for use in productive instances of SMNG</p></li>
 </ul>
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -244,27 +272,33 @@ selected loops, reconstruct hydrogens and minimize energy with MM</li>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="_sources/changelog.rst.txt"
diff --git a/doc/html/cmake/index.html b/doc/html/cmake/index.html
index 445957fcca41c2b25cdb45f0fdb4292ae24bd4de..c89e8b2b86bae4cea7fd5f2839310886749c61b0 100644
--- a/doc/html/cmake/index.html
+++ b/doc/html/cmake/index.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>ProMod3’s Share Of CMake &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>ProMod3’s Share Of CMake &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Using Binary Files In ProMod3" href="../portableIO.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,135 +31,136 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="project-s-share-of-cmake">
-<span id="pm3-cmake-doc"></span><h1>ProMod3’s Share Of CMake<a class="headerlink" href="#project-s-share-of-cmake" 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>
+  <section id="project-s-share-of-cmake">
+<span id="pm3-cmake-doc"></span><h1>ProMod3’s Share Of CMake<a class="headerlink" href="#project-s-share-of-cmake" title="Permalink to this heading">¶</a></h1>
+<section id="introduction">
+<h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this heading">¶</a></h2>
 <p>This section describes the set of ProMod3’s own set of CMake functions (or
 macros) fed from the <code class="file docutils literal notranslate"><span class="pre">cmake_support</span></code> directory. Those could be easily put
 into three categories of varying relevance for you:</p>
 <ol class="arabic simple">
-<li>Functions used to integrate your contribution into ProMod3. Its all about
+<li><p>Functions used to integrate your contribution into ProMod3. Its all about
 adding files to the documentation, declaring unit tests and code management.
-Almost all of them have their home in the file <code class="file docutils literal notranslate"><span class="pre">PROMOD3.cmake</span></code>.</li>
-<li>Then there is a set of functions needed to set up CMake itself. Those are
+Almost all of them have their home in the file <code class="file docutils literal notranslate"><span class="pre">PROMOD3.cmake</span></code>.</p></li>
+<li><p>Then there is a set of functions needed to set up CMake itself. Those are
 little helpers to find tools, external packages and such. These are found in
-<code class="file docutils literal notranslate"><span class="pre">Find&lt;DEPENDENCY&gt;.cmake</span></code> files.</li>
-<li>The last and probably least relevant category for you is also to be found in
+<code class="file docutils literal notranslate"><span class="pre">Find&lt;DEPENDENCY&gt;.cmake</span></code> files.</p></li>
+<li><p>The last and probably least relevant category for you is also to be found in
 <code class="file docutils literal notranslate"><span class="pre">PROMOD3.cmake</span></code>. There is a set of functions used to define more
 CMake functionality. You only need to consider those if you dare to extend
-this set up.</li>
+this set up.</p></li>
 </ol>
 <p>Best practices for using our home-brew CMake functions are found in the
 various <code class="file docutils literal notranslate"><span class="pre">CMakeLists.txt</span></code> files in the project’s directory tree.</p>
-</div>
-<div class="section" id="functions-for-module-action-maintenance">
-<h2>Functions For Module/ Action Maintenance<a class="headerlink" href="#functions-for-module-action-maintenance" title="Permalink to this headline">¶</a></h2>
-<div class="section" id="module-definition">
-<h3>Module definition<a class="headerlink" href="#module-definition" title="Permalink to this headline">¶</a></h3>
+</section>
+<section id="functions-for-module-action-maintenance">
+<h2>Functions For Module/ Action Maintenance<a class="headerlink" href="#functions-for-module-action-maintenance" title="Permalink to this heading">¶</a></h2>
+<section id="module-definition">
+<h3>Module definition<a class="headerlink" href="#module-definition" title="Permalink to this heading">¶</a></h3>
 <p>Default dependencies in a module <code class="docutils literal notranslate"><span class="pre">NAME</span></code>:</p>
 <ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">_NAME</span></code> depends on <code class="docutils literal notranslate"><span class="pre">NAME_pymod</span></code> and <code class="docutils literal notranslate"><span class="pre">promod3_NAME</span></code> (if that exists)</li>
-<li><code class="docutils literal notranslate"><span class="pre">promod3_NAME</span></code> depends on <code class="docutils literal notranslate"><span class="pre">promod3_NAME_headers</span></code></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">_NAME</span></code> depends on <code class="docutils literal notranslate"><span class="pre">NAME_pymod</span></code> and <code class="docutils literal notranslate"><span class="pre">promod3_NAME</span></code> (if that exists)</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">promod3_NAME</span></code> depends on <code class="docutils literal notranslate"><span class="pre">promod3_NAME_headers</span></code></p></li>
 </ul>
-<dl class="command">
-<dt id="command:module">
-<code class="descname">module</code><a class="headerlink" href="#command:module" title="Permalink to this definition">¶</a></dt>
-<dd><div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="nf">module(</span><span class="no">NAME</span><span class="w"> </span><span class="nb">name</span><span class="w"></span>
-<span class="w">       </span><span class="no">SOURCES</span><span class="w"> </span><span class="nb">source1</span><span class="w"> </span><span class="nb">source2</span><span class="w"></span>
-<span class="w">       </span><span class="no">HEADERS</span><span class="w"> </span><span class="nb">header1</span><span class="w"> </span><span class="nb">header2</span><span class="w"> </span><span class="p">[</span><span class="no">IN_DIR</span><span class="w"> </span><span class="nb">dir</span><span class="p">]</span><span class="w"></span>
-<span class="w">               </span><span class="p">[</span><span class="nb">header3</span><span class="w"> </span><span class="nb">header4</span><span class="w"> </span><span class="p">[</span><span class="no">IN_DIR</span><span class="w"> </span><span class="nb">dir</span><span class="p">]]</span><span class="w"></span>
-<span class="w">       </span><span class="p">[</span><span class="no">DEPENDS_ON</span><span class="w"> </span><span class="nb">dep1</span><span class="w"> </span><span class="nb">dep2</span><span class="p">]</span><span class="w"></span>
-<span class="w">       </span><span class="p">[</span><span class="no">HEADER_OUTPUT_DIR</span><span class="w"> </span><span class="nb">dir</span><span class="p">]</span><span class="w"></span>
-<span class="w">       </span><span class="p">[</span><span class="no">LINK</span><span class="w"> </span><span class="nb">link_cmds</span><span class="p">]</span><span class="nf">)</span><span class="w"></span>
+<dl class="cmake command">
+<dt class="sig sig-object cmake" id="command:module">
+<span class="sig-name descname"><span class="pre">module</span></span><a class="headerlink" href="#command:module" title="Permalink to this definition">¶</a></dt>
+<dd><div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="nf">module(</span><span class="no">NAME</span><span class="w"> </span><span class="nb">name</span>
+<span class="w">       </span><span class="no">SOURCES</span><span class="w"> </span><span class="nb">source1</span><span class="w"> </span><span class="nb">source2</span>
+<span class="w">       </span><span class="no">HEADERS</span><span class="w"> </span><span class="nb">header1</span><span class="w"> </span><span class="nb">header2</span><span class="w"> </span><span class="p">[</span><span class="no">IN_DIR</span><span class="w"> </span><span class="nb">dir</span><span class="p">]</span>
+<span class="w">               </span><span class="p">[</span><span class="nb">header3</span><span class="w"> </span><span class="nb">header4</span><span class="w"> </span><span class="p">[</span><span class="no">IN_DIR</span><span class="w"> </span><span class="nb">dir</span><span class="p">]]</span>
+<span class="w">       </span><span class="p">[</span><span class="no">DEPENDS_ON</span><span class="w"> </span><span class="nb">dep1</span><span class="w"> </span><span class="nb">dep2</span><span class="p">]</span>
+<span class="w">       </span><span class="p">[</span><span class="no">HEADER_OUTPUT_DIR</span><span class="w"> </span><span class="nb">dir</span><span class="p">]</span>
+<span class="w">       </span><span class="p">[</span><span class="no">LINK</span><span class="w"> </span><span class="nb">link_cmds</span><span class="p">]</span><span class="nf">)</span>
 </pre></div>
 </div>
 <p>Define a ProMod3 module from a set of C++ files. This will define the
 following make targets (where <code class="docutils literal notranslate"><span class="pre">NAME</span></code> is the provided module name):</p>
 <ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">promod3_NAME</span></code>: builds library <code class="file docutils literal notranslate"><span class="pre">libpromod3_NAME</span></code></li>
-<li><code class="docutils literal notranslate"><span class="pre">promod3_NAME_headers</span></code>: copies all header files</li>
+<li><p><code class="docutils literal notranslate"><span class="pre">promod3_NAME</span></code>: builds library <code class="file docutils literal notranslate"><span class="pre">libpromod3_NAME</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">promod3_NAME_headers</span></code>: copies all header files</p></li>
 </ul>
 <p>The parameters are:</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">NAME</span></code></dt>
-<dd>Specify the name of the module.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">SOURCES</span></code></dt>
-<dd>Set of C++ source files to be compiled.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">HEADERS</span></code></dt>
-<dd>Set of C++ header files to be copied. If the headers are located in
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">NAME</span></code></dt><dd><p>Specify the name of the module.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">SOURCES</span></code></dt><dd><p>Set of C++ source files to be compiled.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">HEADERS</span></code></dt><dd><p>Set of C++ header files to be copied. If the headers are located in
 a different directory than the current one, you must group them by directory
 and provide the directory name <code class="docutils literal notranslate"><span class="pre">dir</span></code> with <code class="docutils literal notranslate"><span class="pre">IN_DIR</span> <span class="pre">dir</span></code> after listing the
-header files in said directory.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">DEPENDS_ON</span></code></dt>
-<dd>Add dependencies on other targets (e.g. <code class="docutils literal notranslate"><span class="pre">promod3_MOD</span></code> for another
-ProMod3 module).</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">HEADER_OUTPUT_DIR</span></code></dt>
-<dd>Define alternative folder to which to copy header files. Default is
-<code class="file docutils literal notranslate"><span class="pre">promod3/NAME</span></code>.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">LINK</span></code></dt>
-<dd>Add dependencies to external libraries. You may use some predefines set of
-libraries here, such as <code class="docutils literal notranslate"><span class="pre">${OST_LIBRARIES}</span></code> and <code class="docutils literal notranslate"><span class="pre">${BOOST_LIBRARIES}</span></code>.</dd>
+header files in said directory.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">DEPENDS_ON</span></code></dt><dd><p>Add dependencies on other targets (e.g. <code class="docutils literal notranslate"><span class="pre">promod3_MOD</span></code> for another
+ProMod3 module).</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">HEADER_OUTPUT_DIR</span></code></dt><dd><p>Define alternative folder to which to copy header files. Default is
+<code class="file docutils literal notranslate"><span class="pre">promod3/NAME</span></code>.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">LINK</span></code></dt><dd><p>Add dependencies to external libraries. You may use some predefines set of
+libraries here, such as <code class="docutils literal notranslate"><span class="pre">${OST_LIBRARIES}</span></code>.</p>
+</dd>
 </dl>
 </dd></dl>
 
-<dl class="command">
-<dt id="command:pymod">
-<code class="descname">pymod</code><a class="headerlink" href="#command:pymod" title="Permalink to this definition">¶</a></dt>
-<dd><div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="nf">pymod(</span><span class="no">NAME</span><span class="w"> </span><span class="nb">name</span><span class="w"></span>
-<span class="w">      </span><span class="no">CPP</span><span class="w"> </span><span class="nb">source1</span><span class="w"> </span><span class="nb">source2</span><span class="w"></span>
-<span class="w">      </span><span class="no">PY</span><span class="w"> </span><span class="nb">source</span><span class="w"> </span><span class="nb">source2</span><span class="w"> </span><span class="p">[</span><span class="no">IN_DIR</span><span class="w"> </span><span class="nb">dir</span><span class="p">]</span><span class="w"></span>
-<span class="w">         </span><span class="p">[</span><span class="nb">source3</span><span class="w"> </span><span class="nb">source4</span><span class="w"> </span><span class="p">[</span><span class="no">IN_DIR</span><span class="w"> </span><span class="nb">dir</span><span class="p">]]</span><span class="w"></span>
-<span class="w">         </span><span class="p">[</span><span class="no">TRANSLATE</span><span class="w"> </span><span class="nb">dict</span><span class="w"> </span><span class="no">END_TRANSLATE</span><span class="p">]</span><span class="w"></span>
-<span class="w">      </span><span class="p">[</span><span class="no">OUTPUT_DIR</span><span class="w"> </span><span class="nb">dir</span><span class="p">]</span><span class="w"></span>
-<span class="w">      </span><span class="p">[</span><span class="no">DEPENDS_ON</span><span class="w"> </span><span class="nb">dep1</span><span class="w"> </span><span class="nb">dep2</span><span class="p">]</span><span class="w"></span>
-<span class="w">      </span><span class="p">[</span><span class="no">NEED_CONFIG_HEADER</span><span class="p">]</span><span class="nf">)</span><span class="w"></span>
+<dl class="cmake command">
+<dt class="sig sig-object cmake" id="command:pymod">
+<span class="sig-name descname"><span class="pre">pymod</span></span><a class="headerlink" href="#command:pymod" title="Permalink to this definition">¶</a></dt>
+<dd><div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="nf">pymod(</span><span class="no">NAME</span><span class="w"> </span><span class="nb">name</span>
+<span class="w">      </span><span class="no">CPP</span><span class="w"> </span><span class="nb">source1</span><span class="w"> </span><span class="nb">source2</span>
+<span class="w">      </span><span class="no">PY</span><span class="w"> </span><span class="nb">source</span><span class="w"> </span><span class="nb">source2</span><span class="w"> </span><span class="p">[</span><span class="no">IN_DIR</span><span class="w"> </span><span class="nb">dir</span><span class="p">]</span>
+<span class="w">         </span><span class="p">[</span><span class="nb">source3</span><span class="w"> </span><span class="nb">source4</span><span class="w"> </span><span class="p">[</span><span class="no">IN_DIR</span><span class="w"> </span><span class="nb">dir</span><span class="p">]]</span>
+<span class="w">         </span><span class="p">[</span><span class="no">TRANSLATE</span><span class="w"> </span><span class="nb">dict</span><span class="w"> </span><span class="no">END_TRANSLATE</span><span class="p">]</span>
+<span class="w">      </span><span class="p">[</span><span class="no">OUTPUT_DIR</span><span class="w"> </span><span class="nb">dir</span><span class="p">]</span>
+<span class="w">      </span><span class="p">[</span><span class="no">DEPENDS_ON</span><span class="w"> </span><span class="nb">dep1</span><span class="w"> </span><span class="nb">dep2</span><span class="p">]</span>
+<span class="w">      </span><span class="p">[</span><span class="no">NEED_CONFIG_HEADER</span><span class="p">]</span><span class="nf">)</span>
 </pre></div>
 </div>
 <p>Define the Python interface of a ProMod3 module from a set of C++
 wrappers and/or Python files. This will define the following make targets
 (where <code class="docutils literal notranslate"><span class="pre">NAME</span></code> is the provided module name):</p>
 <ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">_NAME</span></code>: builds library <code class="file docutils literal notranslate"><span class="pre">_NAME</span></code> for Python wrapper around C++</li>
-<li><code class="docutils literal notranslate"><span class="pre">NAME_pymod</span></code>: copies (and/or translates) all Python files</li>
+<li><p><code class="docutils literal notranslate"><span class="pre">_NAME</span></code>: builds library <code class="file docutils literal notranslate"><span class="pre">_NAME</span></code> for Python wrapper around C++</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">NAME_pymod</span></code>: copies (and/or translates) all Python files</p></li>
 </ul>
 <p>The parameters are:</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">NAME</span></code></dt>
-<dd>Specify the name of the module.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">CPP</span></code></dt>
-<dd>Set of C++ source files to be compiled.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">PY</span></code></dt>
-<dd><p class="first">Set of Python source files to be copied. If the files are located in
+<dl>
+<dt><code class="docutils literal notranslate"><span class="pre">NAME</span></code></dt><dd><p>Specify the name of the module.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">CPP</span></code></dt><dd><p>Set of C++ source files to be compiled.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">PY</span></code></dt><dd><p>Set of Python source files to be copied. If the files are located in
 a different directory than the current one, you must group them by directory
 and provide the directory name <code class="docutils literal notranslate"><span class="pre">dir</span></code> with <code class="docutils literal notranslate"><span class="pre">IN_DIR</span> <span class="pre">dir</span></code> after listing the
 header files in said directory.</p>
-<p class="last">If a Python source file needs to be translated by CMake, provide the
+<p>If a Python source file needs to be translated by CMake, provide the
 dictionary after putting <code class="docutils literal notranslate"><span class="pre">TRANSLATE</span></code>. This assumes a <code class="docutils literal notranslate"><span class="pre">&lt;FILE&gt;.py.in</span></code> for
 <code class="docutils literal notranslate"><span class="pre">&lt;FILE&gt;.py</span></code>. <code class="docutils literal notranslate"><span class="pre">END_TRANSLATE</span></code> marks the end of the translation
 dictionary.</p>
 </dd>
-<dt><code class="docutils literal notranslate"><span class="pre">OUTPUT_DIR</span></code></dt>
-<dd>Define alternative folder (within Python tree) to place python files.
-Default is <code class="file docutils literal notranslate"><span class="pre">promod3/NAME</span></code>.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">DEPENDS_ON</span></code></dt>
-<dd>Add dependencies on other targets (e.g. <code class="docutils literal notranslate"><span class="pre">promod3_MOD</span></code> for another
-ProMod3 module).</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">NEED_CONFIG_HEADER</span></code></dt>
-<dd>Makes the module depending on the config_header target, which provides the
-headers in the <code class="file docutils literal notranslate"><span class="pre">config</span></code> directory.</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">OUTPUT_DIR</span></code></dt><dd><p>Define alternative folder (within Python tree) to place python files.
+Default is <code class="file docutils literal notranslate"><span class="pre">promod3/NAME</span></code>.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">DEPENDS_ON</span></code></dt><dd><p>Add dependencies on other targets (e.g. <code class="docutils literal notranslate"><span class="pre">promod3_MOD</span></code> for another
+ProMod3 module).</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">NEED_CONFIG_HEADER</span></code></dt><dd><p>Makes the module depending on the config_header target, which provides the
+headers in the <code class="file docutils literal notranslate"><span class="pre">config</span></code> directory.</p>
+</dd>
 </dl>
 </dd></dl>
 
-<dl class="command">
-<dt id="command:convert_module_data">
-<code class="descname">convert_module_data</code><a class="headerlink" href="#command:convert_module_data" title="Permalink to this definition">¶</a></dt>
-<dd><div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="nf">convert_module_data(</span><span class="no">MODULE</span><span class="w"> </span><span class="nb">name</span><span class="w"></span>
-<span class="w">                    </span><span class="no">FILE</span><span class="w"> </span><span class="nb">file</span><span class="w"></span>
-<span class="w">                    </span><span class="no">SCRIPT</span><span class="w"> </span><span class="nb">script</span><span class="w"></span>
-<span class="w">                    </span><span class="p">[</span><span class="no">ARGS</span><span class="w"> </span><span class="nb">args</span><span class="p">]</span><span class="nf">)</span><span class="w"></span>
+<dl class="cmake command">
+<dt class="sig sig-object cmake" id="command:convert_module_data">
+<span class="sig-name descname"><span class="pre">convert_module_data</span></span><a class="headerlink" href="#command:convert_module_data" title="Permalink to this definition">¶</a></dt>
+<dd><div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="nf">convert_module_data(</span><span class="no">MODULE</span><span class="w"> </span><span class="nb">name</span>
+<span class="w">                    </span><span class="no">FILE</span><span class="w"> </span><span class="nb">file</span>
+<span class="w">                    </span><span class="no">SCRIPT</span><span class="w"> </span><span class="nb">script</span>
+<span class="w">                    </span><span class="p">[</span><span class="no">ARGS</span><span class="w"> </span><span class="nb">args</span><span class="p">]</span><span class="nf">)</span>
 </pre></div>
 </div>
 <p>Use a Python script to convert a portable binary file to a non-portable one.
@@ -171,18 +173,18 @@ and <code class="docutils literal notranslate"><span class="pre">out_path</span>
 If given, <code class="docutils literal notranslate"><span class="pre">args</span></code> can also be multiple arguments (must be put in “” then).</p>
 </dd></dl>
 
-</div>
-<div class="section" id="unit-tests">
-<h3>Unit Tests<a class="headerlink" href="#unit-tests" title="Permalink to this headline">¶</a></h3>
-<dl class="command">
-<dt id="command:promod3_unittest">
-<code class="descname">promod3_unittest</code><a class="headerlink" href="#command:promod3_unittest" title="Permalink to this definition">¶</a></dt>
-<dd><div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="nf">promod3_unittest(</span><span class="no">MODULE</span><span class="w"> </span><span class="nb">name</span><span class="w"></span>
-<span class="w">                 </span><span class="no">SOURCES</span><span class="w"> </span><span class="nb">source1</span><span class="w"> </span><span class="p">[</span><span class="nb">source2</span><span class="w"> </span><span class="p">...]</span><span class="w"></span>
-<span class="w">                 </span><span class="p">[</span><span class="no">LINK</span><span class="w"> </span><span class="na">library1/</span><span class="w"> </span><span class="nb">linker</span><span class="w"> </span><span class="nb">flag1</span><span class="w"> </span><span class="p">[</span><span class="na">library2/</span><span class="w"> </span><span class="nb">linker</span><span class="w"> </span><span class="nb">flag2</span><span class="w"> </span><span class="p">...]]</span><span class="w"></span>
-<span class="w">                 </span><span class="p">[</span><span class="no">DATA</span><span class="w"> </span><span class="nb">data1</span><span class="w"> </span><span class="p">[</span><span class="nb">data2</span><span class="w"> </span><span class="p">...]]</span><span class="w"></span>
-<span class="w">                 </span><span class="p">[</span><span class="no">TARGET</span><span class="w"> </span><span class="nb">target</span><span class="p">]</span><span class="w"></span>
-<span class="w">                 </span><span class="p">[</span><span class="no">BASE_TARGET</span><span class="w"> </span><span class="nb">base_target</span><span class="p">]</span><span class="nf">)</span><span class="w"></span>
+</section>
+<section id="unit-tests">
+<h3>Unit Tests<a class="headerlink" href="#unit-tests" title="Permalink to this heading">¶</a></h3>
+<dl class="cmake command">
+<dt class="sig sig-object cmake" id="command:promod3_unittest">
+<span class="sig-name descname"><span class="pre">promod3_unittest</span></span><a class="headerlink" href="#command:promod3_unittest" title="Permalink to this definition">¶</a></dt>
+<dd><div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="nf">promod3_unittest(</span><span class="no">MODULE</span><span class="w"> </span><span class="nb">name</span>
+<span class="w">                 </span><span class="no">SOURCES</span><span class="w"> </span><span class="nb">source1</span><span class="w"> </span><span class="p">[</span><span class="nb">source2</span><span class="w"> </span><span class="p">...]</span>
+<span class="w">                 </span><span class="p">[</span><span class="no">LINK</span><span class="w"> </span><span class="na">library1/</span><span class="w"> </span><span class="nb">linker</span><span class="w"> </span><span class="nb">flag1</span><span class="w"> </span><span class="p">[</span><span class="na">library2/</span><span class="w"> </span><span class="nb">linker</span><span class="w"> </span><span class="nb">flag2</span><span class="w"> </span><span class="p">...]]</span>
+<span class="w">                 </span><span class="p">[</span><span class="no">DATA</span><span class="w"> </span><span class="nb">data1</span><span class="w"> </span><span class="p">[</span><span class="nb">data2</span><span class="w"> </span><span class="p">...]]</span>
+<span class="w">                 </span><span class="p">[</span><span class="no">TARGET</span><span class="w"> </span><span class="nb">target</span><span class="p">]</span>
+<span class="w">                 </span><span class="p">[</span><span class="no">BASE_TARGET</span><span class="w"> </span><span class="nb">base_target</span><span class="p">]</span><span class="nf">)</span>
 </pre></div>
 </div>
 <p>Add unit tests to ProMod3. Unit tests should go in module-wise so all
@@ -194,47 +196,47 @@ it is out of the source tree, you may change test data as you like, without
 the Git repository noticing. Calling <span class="target" id="index-1-command:promod3_unittest"></span><a class="reference internal" href="#command:promod3_unittest" title="promod3_unittest"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">promod3_unittest()</span></code></a> will
 create a set of certain <code class="docutils literal notranslate"><span class="pre">make</span></code> targets for you, beside feeding <code class="docutils literal notranslate"><span class="pre">codetest</span></code>.</p>
 <p>The parameters are:</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">MODULE</span></code></dt>
-<dd>Specify the name of the module these tests are made for. Needs to be set,
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">MODULE</span></code></dt><dd><p>Specify the name of the module these tests are made for. Needs to be set,
 needs to be a single word. Ends up in <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">help</span></code> as a prefix, nothing
-will break if it does not match the name of any existing module.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">SOURCES</span></code></dt>
-<dd>Describe a set of files hosting unit test code here. If its a wild mix of
+will break if it does not match the name of any existing module.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">SOURCES</span></code></dt><dd><p>Describe a set of files hosting unit test code here. If its a wild mix of
 C++ and Python files does not matter, CMake will sort this out for
 you. But the programming language makes a difference for the <code class="docutils literal notranslate"><span class="pre">make</span></code>
 targets produced. C++ files will all be gathered in a single
 <code class="docutils literal notranslate"><span class="pre">test_suite_&lt;MODULE&gt;_run</span></code> target (there is also a <code class="docutils literal notranslate"><span class="pre">_xml</span></code> target but
 this is for tools for automated testing). Python code works on a ‘one
 target per file’ basis. So <code class="file docutils literal notranslate"><span class="pre">test_foo.py</span></code> will have own target
-<code class="docutils literal notranslate"><span class="pre">test_foo.py_run</span></code>.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">LINK</span></code></dt>
-<dd>Add additional libraries and linker flags for C++ source files. Has no
-effect on Python tests.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">DATA</span></code></dt>
-<dd>Define test data. Instead of giving data directories its own
+<code class="docutils literal notranslate"><span class="pre">test_foo.py_run</span></code>.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">LINK</span></code></dt><dd><p>Add additional libraries and linker flags for C++ source files. Has no
+effect on Python tests.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">DATA</span></code></dt><dd><p>Define test data. Instead of giving data directories its own
 <code class="file docutils literal notranslate"><span class="pre">CMakeLists.txt</span></code>, those files are added here. Usually located
 somewhere in a dedicated <code class="file docutils literal notranslate"><span class="pre">data</span></code> subtree, files need to be given with
 a path relative to this directory. That path will then be created in the
-build directory.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">TARGET</span></code></dt>
-<dd>This defines an additional dependency for the unit test. That is, before
-running this unit test, this target will be built.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">BASE_TARGET</span></code></dt>
-<dd>This defines an alternative base target to which to add this unit test.
+build directory.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">TARGET</span></code></dt><dd><p>This defines an additional dependency for the unit test. That is, before
+running this unit test, this target will be built.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">BASE_TARGET</span></code></dt><dd><p>This defines an alternative base target to which to add this unit test.
 By default all unit tests are registered to be executed with the
-<code class="docutils literal notranslate"><span class="pre">codetest</span></code> target. This can be overridden by using this argument.</dd>
+<code class="docutils literal notranslate"><span class="pre">codetest</span></code> target. This can be overridden by using this argument.</p>
+</dd>
 </dl>
 </dd></dl>
 
-</div>
-<div class="section" id="documentation">
-<h3>Documentation<a class="headerlink" href="#documentation" title="Permalink to this headline">¶</a></h3>
-<dl class="command">
-<dt id="command:add_doc_source">
-<code class="descname">add_doc_source</code><a class="headerlink" href="#command:add_doc_source" title="Permalink to this definition">¶</a></dt>
-<dd><div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="nf">add_doc_source(</span><span class="no">NAME</span><span class="w"> </span><span class="nb">name</span><span class="w"></span>
-<span class="w">               </span><span class="no">RST</span><span class="w"> </span><span class="nb">rst1</span><span class="w"> </span><span class="p">[</span><span class="nb">rst2...</span><span class="p">]</span><span class="nf">)</span><span class="w"></span>
+</section>
+<section id="documentation">
+<h3>Documentation<a class="headerlink" href="#documentation" title="Permalink to this heading">¶</a></h3>
+<dl class="cmake command">
+<dt class="sig sig-object cmake" id="command:add_doc_source">
+<span class="sig-name descname"><span class="pre">add_doc_source</span></span><a class="headerlink" href="#command:add_doc_source" title="Permalink to this definition">¶</a></dt>
+<dd><div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="nf">add_doc_source(</span><span class="no">NAME</span><span class="w"> </span><span class="nb">name</span>
+<span class="w">               </span><span class="no">RST</span><span class="w"> </span><span class="nb">rst1</span><span class="w"> </span><span class="p">[</span><span class="nb">rst2...</span><span class="p">]</span><span class="nf">)</span>
 </pre></div>
 </div>
 <p>Add reStructuredText sources for the doc build system. This is most preferable
@@ -242,51 +244,51 @@ used in <code class="file docutils literal notranslate"><span class="pre">doc</s
 module. This does not create any <code class="docutils literal notranslate"><span class="pre">make</span></code> targets. Lists filled here will all
 be evaluated in the <code class="file docutils literal notranslate"><span class="pre">doc/CMakeLists.txt</span></code> of the repository root.</p>
 <p>The parameters are:</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">NAME</span></code></dt>
-<dd>Specify the name of the module this branch of documentation belongs to.
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">NAME</span></code></dt><dd><p>Specify the name of the module this branch of documentation belongs to.
 Needs to be set, needs to be a single word. Using module names is best
 practice, while nothing will break if it does not refer to an existing one.
 You will find a directory in <code class="file docutils literal notranslate"><span class="pre">doc/source</span></code> with that name in the build
-root.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">RST</span></code></dt>
-<dd>Describe a set of files containing the documentation. Feed it a single file
-name or a CMake list.</dd>
+root.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">RST</span></code></dt><dd><p>Describe a set of files containing the documentation. Feed it a single file
+name or a CMake list.</p>
+</dd>
 </dl>
 </dd></dl>
 
-<dl class="command">
-<dt id="command:add_doc_dependency">
-<code class="descname">add_doc_dependency</code><a class="headerlink" href="#command:add_doc_dependency" title="Permalink to this definition">¶</a></dt>
-<dd><div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="nf">add_doc_dependency(</span><span class="no">NAME</span><span class="w"> </span><span class="nb">name</span><span class="w"></span>
-<span class="w">                   </span><span class="no">DEP</span><span class="w"> </span><span class="nb">dependency1</span><span class="w"> </span><span class="p">[</span><span class="nb">dependency2...</span><span class="p">]</span><span class="nf">)</span><span class="w"></span>
+<dl class="cmake command">
+<dt class="sig sig-object cmake" id="command:add_doc_dependency">
+<span class="sig-name descname"><span class="pre">add_doc_dependency</span></span><a class="headerlink" href="#command:add_doc_dependency" title="Permalink to this definition">¶</a></dt>
+<dd><div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="nf">add_doc_dependency(</span><span class="no">NAME</span><span class="w"> </span><span class="nb">name</span>
+<span class="w">                   </span><span class="no">DEP</span><span class="w"> </span><span class="nb">dependency1</span><span class="w"> </span><span class="p">[</span><span class="nb">dependency2...</span><span class="p">]</span><span class="nf">)</span>
 </pre></div>
 </div>
 <p>Add a dependency to the doc build system. For an existing name, add some
 dependencies when it comes to building documentation. Mostly for internal use.</p>
 <p>The parameters are:</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">NAME</span></code></dt>
-<dd>Specify a name the dependencies belong to. This name needs to be already
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">NAME</span></code></dt><dd><p>Specify a name the dependencies belong to. This name needs to be already
 known in the doc build system. Names of Python modules are good, otherwise
 names introduced by <span class="target" id="index-0-command:add_doc_source"></span><a class="reference internal" href="#command:add_doc_source" title="add_doc_source"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">add_doc_source()</span></code></a> work well. Dependencies
 will be create for all reStructuredText files listed by
 <span class="target" id="index-1-command:add_doc_source"></span><a class="reference internal" href="#command:add_doc_source" title="add_doc_source"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">add_doc_source()</span></code></a> under this name and for all <code class="docutils literal notranslate"><span class="pre">make</span></code>
-targets related to the documentation.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">DEP</span></code></dt>
-<dd>Hand over a dependency here or a CMake list. Files work, if given with
-absolute path.</dd>
+targets related to the documentation.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">DEP</span></code></dt><dd><p>Hand over a dependency here or a CMake list. Files work, if given with
+absolute path.</p>
+</dd>
 </dl>
 </dd></dl>
 
-</div>
-<div class="section" id="actions">
-<h3>Actions<a class="headerlink" href="#actions" title="Permalink to this headline">¶</a></h3>
-<dl class="command">
-<dt id="command:pm_action">
-<code class="descname">pm_action</code><a class="headerlink" href="#command:pm_action" title="Permalink to this definition">¶</a></dt>
-<dd><div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="nf">pm_action(</span><span class="no">ACTION</span><span class="w"> </span><span class="nb">action-script</span><span class="w"></span>
-<span class="w">          </span><span class="no">TARGET</span><span class="w"> </span><span class="nb">target</span><span class="nf">)</span><span class="w"></span>
+</section>
+<section id="actions">
+<h3>Actions<a class="headerlink" href="#actions" title="Permalink to this heading">¶</a></h3>
+<dl class="cmake command">
+<dt class="sig sig-object cmake" id="command:pm_action">
+<span class="sig-name descname"><span class="pre">pm_action</span></span><a class="headerlink" href="#command:pm_action" title="Permalink to this definition">¶</a></dt>
+<dd><div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="nf">pm_action(</span><span class="no">ACTION</span><span class="w"> </span><span class="nb">action-script</span>
+<span class="w">          </span><span class="no">TARGET</span><span class="w"> </span><span class="nb">target</span><span class="nf">)</span>
 </pre></div>
 </div>
 <p>Add an action to ProMod3. Actions are scripts called by the <code class="docutils literal notranslate"><span class="pre">pm</span></code> launcher
@@ -295,23 +297,24 @@ Adding an action means connecting its file with the given target to be copied
 to the <code class="file docutils literal notranslate"><span class="pre">libexec</span></code> directory. No dedicated <code class="docutils literal notranslate"><span class="pre">make</span></code> target will be
 created.</p>
 <p>The parameters are:</p>
-<dl class="docutils">
-<dt><code class="docutils literal notranslate"><span class="pre">ACTION</span></code></dt>
-<dd>Name of the action to be added. Should start with <code class="file docutils literal notranslate"><span class="pre">pm-</span></code>. Needs to be
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">ACTION</span></code></dt><dd><p>Name of the action to be added. Should start with <code class="file docutils literal notranslate"><span class="pre">pm-</span></code>. Needs to be
 an existing file in the same directory as the invoking
-<code class="file docutils literal notranslate"><span class="pre">CMakeLists.txt</span></code>.</dd>
-<dt><code class="docutils literal notranslate"><span class="pre">TARGET</span></code></dt>
-<dd>Provide a <code class="docutils literal notranslate"><span class="pre">make</span></code> target to trigger copying the action’s script file. The
-target has to be created <strong>before</strong> any action may be attached to it.</dd>
+<code class="file docutils literal notranslate"><span class="pre">CMakeLists.txt</span></code>.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">TARGET</span></code></dt><dd><p>Provide a <code class="docutils literal notranslate"><span class="pre">make</span></code> target to trigger copying the action’s script file. The
+target has to be created <strong>before</strong> any action may be attached to it.</p>
+</dd>
 </dl>
 </dd></dl>
 
-</div>
-</div>
-</div>
+</section>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -341,34 +344,40 @@ target has to be created <strong>before</strong> any action may be attached to i
 <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 notranslate"><span class="pre">test_actions</span></code> - Testing Actions</a></li>
+      <li>Previous: <a href="../actions/index_dev.html" title="previous chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">test_actions</span></code> - Testing Actions</a></li>
       <li>Next: <a href="../portableIO.html" title="next chapter">Using Binary Files In ProMod3</a></li>
   </ul></li>
   </ul></li>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/cmake/index.rst.txt"
diff --git a/doc/html/container/docker.html b/doc/html/container/docker.html
index 268489f69c5d92237cc5b76c595700c6f59adf97..789aa2adcf927d1bb3b788e86d123094e14a1126 100644
--- a/doc/html/container/docker.html
+++ b/doc/html/container/docker.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Docker &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Docker &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Singularity" href="singularity.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,53 +31,55 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="docker">
-<h1>Docker<a class="headerlink" href="#docker" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="project-s-own-docker-registry">
-<h2>ProMod3’s Own Docker Registry<a class="headerlink" href="#project-s-own-docker-registry" title="Permalink to this headline">¶</a></h2>
+  <section id="docker">
+<h1>Docker<a class="headerlink" href="#docker" title="Permalink to this heading">¶</a></h1>
+<section id="project-s-own-docker-registry">
+<h2>ProMod3’s Own Docker Registry<a class="headerlink" href="#project-s-own-docker-registry" title="Permalink to this heading">¶</a></h2>
 <p>For the current stable release of ProMod3, its
 <a class="reference external" href="https://git.scicore.unibas.ch/schwede/ProMod3">GitLab project</a> is equipped with its own
 <a class="reference external" href="https://git.scicore.unibas.ch/schwede/ProMod3/container_registry">registry for Docker images</a>. There you
 can explore the current tag and simply pull a ready made built:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker pull registry.scicore.unibas.ch/schwede/promod3:&lt;TAG&gt;
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker<span class="w"> </span>pull<span class="w"> </span>registry.scicore.unibas.ch/schwede/promod3:&lt;TAG&gt;
 </pre></div>
 </div>
-</div>
-<div class="section" id="build-docker-image">
-<h2>Build Docker Image<a class="headerlink" href="#build-docker-image" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="build-docker-image">
+<h2>Build Docker Image<a class="headerlink" href="#build-docker-image" title="Permalink to this heading">¶</a></h2>
 <p>In order to build the image:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker build --tag &lt;IMAGE_NAME&gt; -f Dockerfile &lt;PATH_TO_DOCKERFILE_DIR&gt;
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker<span class="w"> </span>build<span class="w"> </span>--tag<span class="w"> </span>&lt;IMAGE_NAME&gt;<span class="w"> </span>-f<span class="w"> </span>Dockerfile<span class="w"> </span>&lt;PATH_TO_DOCKERFILE_DIR&gt;
 </pre></div>
 </div>
 <p>You can chose any image name (tag) eg. promod.</p>
-</div>
-<div class="section" id="run-scripts-and-actions-with-pm-executable">
-<h2>Run scripts and actions with pm executable<a class="headerlink" href="#run-scripts-and-actions-with-pm-executable" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="run-scripts-and-actions-with-pm-executable">
+<h2>Run scripts and actions with pm executable<a class="headerlink" href="#run-scripts-and-actions-with-pm-executable" title="Permalink to this heading">¶</a></h2>
 <p>If script or action requires some external files eg. PDBs, they have to be located in the
 path accessible via mounted volume and should be accessed via docker (NOT LOCAL)
 path. Eg. assuming that we have a struc.pdb file in /home/&lt;USER&gt;/pdbs directory and
 a script.py in /home/&lt;USER&gt; we could mount the /home/&lt;USER&gt; to /home in docker as
 above by specifying -v /home/&lt;USER&gt;:/home. To run the script we thus need to
 provide the (relative) path to the script and (relative) path to the file eg:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run --rm -v /home/&lt;USER&gt;:/home &lt;IMAGE_NAME&gt; script.py <span class="se">\</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker<span class="w"> </span>run<span class="w"> </span>--rm<span class="w"> </span>-v<span class="w"> </span>/home/&lt;USER&gt;:/home<span class="w"> </span>&lt;IMAGE_NAME&gt;<span class="w"> </span>script.py<span class="w"> </span><span class="se">\</span>
 pdbs/struct.pdb
 </pre></div>
 </div>
 <p>or with absolute paths:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run --rm -v /home/&lt;USER&gt;:/home &lt;IMAGE_NAME&gt; /home/script.py <span class="se">\</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker<span class="w"> </span>run<span class="w"> </span>--rm<span class="w"> </span>-v<span class="w"> </span>/home/&lt;USER&gt;:/home<span class="w"> </span>&lt;IMAGE_NAME&gt;<span class="w"> </span>/home/script.py<span class="w"> </span><span class="se">\</span>
 /home/pdbs/struct.pdb
 </pre></div>
 </div>
 <p>An alternative is to mount the current working directory into the docker home:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run --rm -v <span class="k">$(</span><span class="nb">pwd</span><span class="k">)</span>:/home &lt;IMAGE_NAME&gt; script.py pdbs/struct.pdb
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker<span class="w"> </span>run<span class="w"> </span>--rm<span class="w"> </span>-v<span class="w"> </span><span class="k">$(</span><span class="nb">pwd</span><span class="k">)</span>:/home<span class="w"> </span>&lt;IMAGE_NAME&gt;<span class="w"> </span>script.py<span class="w"> </span>pdbs/struct.pdb
 </pre></div>
 </div>
-</div>
-<div class="section" id="the-compound-library">
-<span id="docker-compound-lib"></span><h2>The Compound Library<a class="headerlink" href="#the-compound-library" title="Permalink to this headline">¶</a></h2>
-<p>At build time of the container, a <a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/compoundlib/#ost.conop.CompoundLib" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">CompoundLib</span></code></a> is generated.
+</section>
+<section id="the-compound-library">
+<span id="docker-compound-lib"></span><h2>The Compound Library<a class="headerlink" href="#the-compound-library" title="Permalink to this heading">¶</a></h2>
+<p>At build time of the container, a <a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/compoundlib/#ost.conop.CompoundLib" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">CompoundLib</span></code></a> is generated.
 Compound libraries contain information on chemical compounds, such as their
 connectivity, chemical class and one-letter-code. The compound library has
 several uses, but the most important one is to provide the connectivy
@@ -99,14 +102,14 @@ The files are rather large, it is therefore recommended to download the
 gzipped version.</p>
 <p>After downloading the file use <strong class="program">chemdict_tool</strong> in the container to
 convert the mmCIF  dictionary into our internal format:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run --rm -v <span class="k">$(</span><span class="nb">pwd</span><span class="k">)</span>:/home --entrypoint chemdict_tool &lt;IMAGE_NAME&gt; <span class="se">\</span>
-create components.cif.gz compounds.chemlib
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker<span class="w"> </span>run<span class="w"> </span>--rm<span class="w"> </span>-v<span class="w"> </span><span class="k">$(</span><span class="nb">pwd</span><span class="k">)</span>:/home<span class="w"> </span>--entrypoint<span class="w"> </span>chemdict_tool<span class="w"> </span>&lt;IMAGE_NAME&gt;<span class="w"> </span><span class="se">\</span>
+create<span class="w"> </span>components.cif.gz<span class="w"> </span>compounds.chemlib
 </pre></div>
 </div>
 <p>To run a script with the upated compound library, use the -v option for mounting/overriding:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker run --rm -v /home/&lt;USER&gt;:/home <span class="se">\</span>
--v &lt;COMPLIB_DIR_LOCALHOST&gt;/compounds.chemlib:&lt;COMPLIB_DIR_CONTAINER&gt;/compounds.chemlib <span class="se">\</span>
-&lt;IMAGE_NAME&gt; script.py pdbs/struct.pdb
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>docker<span class="w"> </span>run<span class="w"> </span>--rm<span class="w"> </span>-v<span class="w"> </span>/home/&lt;USER&gt;:/home<span class="w"> </span><span class="se">\</span>
+-v<span class="w"> </span>&lt;COMPLIB_DIR_LOCALHOST&gt;/compounds.chemlib:&lt;COMPLIB_DIR_CONTAINER&gt;/compounds.chemlib<span class="w"> </span><span class="se">\</span>
+&lt;IMAGE_NAME&gt;<span class="w"> </span>script.py<span class="w"> </span>pdbs/struct.pdb
 </pre></div>
 </div>
 <p>with COMPLIB_DIR_LOCALHOST being the directory that contains the newly generated
@@ -119,14 +122,15 @@ output when running a Python script with following code in the container:</p>
 <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">promod3</span> <span class="c1"># required to setup default lib</span>
 <span class="kn">from</span> <span class="nn">ost</span> <span class="kn">import</span> <span class="n">conop</span>
 <span class="n">lib</span> <span class="o">=</span> <span class="n">conop</span><span class="o">.</span><span class="n">GetDefaultLib</span><span class="p">()</span>
-<span class="k">print</span><span class="p">(</span><span class="n">lib</span><span class="o">.</span><span class="n">GetCreationDate</span><span class="p">())</span>
+<span class="nb">print</span><span class="p">(</span><span class="n">lib</span><span class="o">.</span><span class="n">GetCreationDate</span><span class="p">())</span>
 </pre></div>
 </div>
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -147,12 +151,12 @@ output when running a Python script with following code in the container:</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 Actions</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../buildsystem.html">Building ProMod3</a></li>
 <li class="toctree-l2 current"><a class="reference internal" href="index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -178,27 +182,33 @@ output when running a Python script with following code in the container:</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/container/docker.rst.txt"
diff --git a/doc/html/container/index.html b/doc/html/container/index.html
index f37f181a37a3d1e06f1387433069cae35abd0f8a..aa15d081dfb2ac925c9edcb035086c4ac6a1a663 100644
--- a/doc/html/container/index.html
+++ b/doc/html/container/index.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>ProMod3 and Containers &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>ProMod3 and Containers &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Docker" href="docker.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,10 +31,12 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="project-and-containers">
-<span id="container"></span><h1>ProMod3 and Containers<a class="headerlink" href="#project-and-containers" title="Permalink to this headline">¶</a></h1>
+  <section id="project-and-containers">
+<span id="container"></span><h1>ProMod3 and Containers<a class="headerlink" href="#project-and-containers" title="Permalink to this heading">¶</a></h1>
 <p>ProMod3 offers build recipes for Docker and Singularity in
 &lt;PATH_TO_PROMOD3_CHECKOUT&gt;/container. To avoid code duplication,
 the Singularity container bootstraps from the Docker one and adds
@@ -44,10 +47,11 @@ some sugar on top.</p>
 <li class="toctree-l1"><a class="reference internal" href="singularity.html">Singularity</a></li>
 </ul>
 </div>
-</div>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -68,12 +72,12 @@ some sugar on top.</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 Actions</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../buildsystem.html">Building ProMod3</a></li>
 <li class="toctree-l2 current"><a class="current reference internal" href="#">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -97,27 +101,33 @@ some sugar on top.</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/container/index.rst.txt"
diff --git a/doc/html/container/singularity.html b/doc/html/container/singularity.html
index 85b7c9b344afbeeade4d2091b41f090f565eb9ff..165907d323a821ea8687530a342693e052b306e6 100644
--- a/doc/html/container/singularity.html
+++ b/doc/html/container/singularity.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Singularity &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Singularity &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="modelling - Protein Modelling" href="../modelling/index.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,55 +31,56 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="singularity">
-<h1>Singularity<a class="headerlink" href="#singularity" title="Permalink to this headline">¶</a></h1>
+  <section id="singularity">
+<h1>Singularity<a class="headerlink" href="#singularity" title="Permalink to this heading">¶</a></h1>
 <p>We do not provide a “standalone” Singularity image, but rather bootstrap from a
 Docker image.</p>
 <p>Change to the directory containing the Singularity file
 (&lt;PROMOD3_CHECKOUT&gt;/container) and build the image with:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sudo singularity build promod.img Singularity
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sudo<span class="w"> </span>singularity<span class="w"> </span>build<span class="w"> </span>promod.img<span class="w"> </span>Singularity
 </pre></div>
 </div>
-<div class="section" id="available-apps">
-<h2>Available apps<a class="headerlink" href="#available-apps" title="Permalink to this headline">¶</a></h2>
-<dl class="docutils">
-<dt>This container includes the following apps:</dt>
-<dd><ul class="first last simple">
-<li><strong>OST</strong> - OpenStructure executable</li>
-<li><strong>PM</strong> - ProMod3 executable</li>
-<li><strong>IPython</strong> - OST/ProMod3-powered iPython shell</li>
-<li><strong>Notebook</strong> - A Jupyter notebook playground with OST, ProMod3 and nglview</li>
-<li><strong>lDDT</strong> - The Local Distance Difference Test</li>
-<li><strong>Molck</strong> - Molecular checker</li>
-<li><strong>ChemdictTool</strong> - Creating or update a compound library</li>
+<section id="available-apps">
+<h2>Available apps<a class="headerlink" href="#available-apps" title="Permalink to this heading">¶</a></h2>
+<dl class="simple">
+<dt>This container includes the following apps:</dt><dd><ul class="simple">
+<li><p><strong>OST</strong> - OpenStructure executable</p></li>
+<li><p><strong>PM</strong> - ProMod3 executable</p></li>
+<li><p><strong>IPython</strong> - OST/ProMod3-powered iPython shell</p></li>
+<li><p><strong>Notebook</strong> - A Jupyter notebook playground with OST, ProMod3 and nglview</p></li>
+<li><p><strong>lDDT</strong> - The Local Distance Difference Test</p></li>
+<li><p><strong>Molck</strong> - Molecular checker</p></li>
+<li><p><strong>ChemdictTool</strong> - Creating or update a compound library</p></li>
 </ul>
 </dd>
 </dl>
 <p>To see the help for each individual app run:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>singularity run-help --app &lt;APP NAME&gt; &lt;PATH TO PROMOD IMAGE&gt;
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>singularity<span class="w"> </span>run-help<span class="w"> </span>--app<span class="w"> </span>&lt;APP<span class="w"> </span>NAME&gt;<span class="w"> </span>&lt;PATH<span class="w"> </span>TO<span class="w"> </span>PROMOD<span class="w"> </span>IMAGE&gt;
 </pre></div>
 </div>
 <p>Eg.:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>singularity run-help --app PM promod.img
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>singularity<span class="w"> </span>run-help<span class="w"> </span>--app<span class="w"> </span>PM<span class="w"> </span>promod.img
 </pre></div>
 </div>
 <p>To list all available ProMod3 modelling actions:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>singularity run --app PM promod.img <span class="nb">help</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>singularity<span class="w"> </span>run<span class="w"> </span>--app<span class="w"> </span>PM<span class="w"> </span>promod.img<span class="w"> </span><span class="nb">help</span>
 </pre></div>
 </div>
 <p>So you can either run an action with:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>singularity run --app PM promod.img build-model <span class="o">[</span>options<span class="o">]</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>singularity<span class="w"> </span>run<span class="w"> </span>--app<span class="w"> </span>PM<span class="w"> </span>promod.img<span class="w"> </span>build-model<span class="w"> </span><span class="o">[</span>options<span class="o">]</span>
 </pre></div>
 </div>
 <p>or an arbitrary Python script using OpenStructure / ProMod3 with:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>singularity run --app PM promod.img my_script.py <span class="o">[</span>options<span class="o">]</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>singularity<span class="w"> </span>run<span class="w"> </span>--app<span class="w"> </span>PM<span class="w"> </span>promod.img<span class="w"> </span>my_script.py<span class="w"> </span><span class="o">[</span>options<span class="o">]</span>
 </pre></div>
 </div>
 <p>The Notebook app provides a jupyter notebook playground with OST, ProMod3, and
 nglview available. You can fire it up with:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>singularity run --app Notebook promod.img
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>singularity<span class="w"> </span>run<span class="w"> </span>--app<span class="w"> </span>Notebook<span class="w"> </span>promod.img
 </pre></div>
 </div>
 <p>connect to the notebook, start a new OST kernel and test it with the following
@@ -97,9 +99,9 @@ code snippet:</p>
 <span class="n">view</span>
 </pre></div>
 </div>
-</div>
-<div class="section" id="the-compound-library">
-<h2>The Compound Library<a class="headerlink" href="#the-compound-library" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="the-compound-library">
+<h2>The Compound Library<a class="headerlink" href="#the-compound-library" title="Permalink to this heading">¶</a></h2>
 <p>You’ll have the exact same problem with outdated compound libraries as in the
 raw Docker image. You can find more information on that matter in the Docker
 section of the documentation: <a class="reference internal" href="docker.html#docker-compound-lib"><span class="std std-ref">The Compound Library</span></a>.</p>
@@ -107,14 +109,14 @@ section of the documentation: <a class="reference internal" href="docker.html#do
 the container applies. The two relevant commands for Singularity are building
 a new library and mount it.</p>
 <p>Build a new library:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>singularity run --app ChemdictTool &lt;IMAGE&gt; create components.cif.gz <span class="se">\</span>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>singularity<span class="w"> </span>run<span class="w"> </span>--app<span class="w"> </span>ChemdictTool<span class="w"> </span>&lt;IMAGE&gt;<span class="w"> </span>create<span class="w"> </span>components.cif.gz<span class="w"> </span><span class="se">\</span>
 compounds.chemlib
 </pre></div>
 </div>
 <p>Run some script with an updated compound library from localhost:</p>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>singularity run <span class="se">\</span>
--B &lt;COMPLIB_DIR_LOCALHOST&gt;/compounds.chemlib:&lt;COMPLIB_DIR_CONTAINER&gt;/compounds.chemlib <span class="se">\</span>
---app PM &lt;IMAGE&gt; my_script.py
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>singularity<span class="w"> </span>run<span class="w"> </span><span class="se">\</span>
+-B<span class="w"> </span>&lt;COMPLIB_DIR_LOCALHOST&gt;/compounds.chemlib:&lt;COMPLIB_DIR_CONTAINER&gt;/compounds.chemlib<span class="w"> </span><span class="se">\</span>
+--app<span class="w"> </span>PM<span class="w"> </span>&lt;IMAGE&gt;<span class="w"> </span>my_script.py
 </pre></div>
 </div>
 <p>Same as for the Docker, if you didn’t meddle with the original Dockerfile,
@@ -123,11 +125,12 @@ compounds.chemlib
 name compounds.chemlib that you created before. Make sure that everything works
 as expected by executing the exact same lines of Python code as described
 in the Docker documentation: <a class="reference internal" href="docker.html#docker-compound-lib"><span class="std std-ref">The Compound Library</span></a>.</p>
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -148,12 +151,12 @@ in the Docker documentation: <a class="reference internal" href="docker.html#doc
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 Actions</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../buildsystem.html">Building ProMod3</a></li>
 <li class="toctree-l2 current"><a class="reference internal" href="index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -172,34 +175,40 @@ in the Docker documentation: <a class="reference internal" href="docker.html#doc
   <li><a href="../users.html">Documentation For Users</a><ul>
   <li><a href="index.html">ProMod3 and Containers</a><ul>
       <li>Previous: <a href="docker.html" title="previous chapter">Docker</a></li>
-      <li>Next: <a href="../modelling/index.html" title="next chapter"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+      <li>Next: <a href="../modelling/index.html" title="next chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
   </ul></li>
   </ul></li>
   </ul></li>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/container/singularity.rst.txt"
diff --git a/doc/html/contributing.html b/doc/html/contributing.html
index ef4e0f873baee4ab285bfd6b81f05b9daab63ee0..f70beb87b94bb192ff4f69cfa82222d5ce86375c 100644
--- a/doc/html/contributing.html
+++ b/doc/html/contributing.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Contributing &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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>
-    <script type="text/javascript" src="_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Contributing &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
+    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+    <script src="_static/jquery.js"></script>
+    <script src="_static/underscore.js"></script>
+    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="_static/doctools.js"></script>
+    <script src="_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="next" title="test_actions - Testing Actions" href="actions/index_dev.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,10 +31,12 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="contributing">
-<span id="how-to-contribute"></span><h1>Contributing<a class="headerlink" href="#contributing" title="Permalink to this headline">¶</a></h1>
+  <section id="contributing">
+<span id="how-to-contribute"></span><h1>Contributing<a class="headerlink" href="#contributing" title="Permalink to this heading">¶</a></h1>
 <p>Code contributions are handled through the git repository hosted at sciCORE,
 University of Basel: <a class="reference external" href="https://git.scicore.unibas.ch/schwede/ProMod3">https://git.scicore.unibas.ch/schwede/ProMod3</a>.
 Get in touch with the main developers if you have a fantastic new feature
@@ -41,15 +44,15 @@ and need an account there.
 The following should explain, in a coarse grain manner, how to add new features
 to ProMod3. The most general advice would be to use existing bits and pieces
 as examples and to be consistent with what you already find here.</p>
-<div class="section" id="how-to-share-your-own-script">
-<h2>How To Share Your Own Script<a class="headerlink" href="#how-to-share-your-own-script" title="Permalink to this headline">¶</a></h2>
+<section id="how-to-share-your-own-script">
+<h2>How To Share Your Own Script<a class="headerlink" href="#how-to-share-your-own-script" title="Permalink to this heading">¶</a></h2>
 <p>If you have a useful script using ProMod3 that you want to share, it should go
 as a subfolder into the <code class="file docutils literal notranslate"><span class="pre">extras/external_scripts</span></code> folder. Make sure to
 describe the use and purpose of the script in a short <code class="file docutils literal notranslate"><span class="pre">README</span></code> including
 working commands on how to use it.</p>
-</div>
-<div class="section" id="how-to-start-your-own-module">
-<span id="id1"></span><h2>How To Start Your Own Module<a class="headerlink" href="#how-to-start-your-own-module" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="how-to-start-your-own-module">
+<span id="id1"></span><h2>How To Start Your Own Module<a class="headerlink" href="#how-to-start-your-own-module" title="Permalink to this heading">¶</a></h2>
 <p>This is just a walk-through how the topics from above work together when you
 start your own module. For the entry point, lets assume that you already cloned
 the repository into a directory and just changed into it.</p>
@@ -57,39 +60,39 @@ the repository into a directory and just changed into it.</p>
 work fine with all the other new fellows waiting for release right from the
 beginning. Therefore you need to switch branches as a first step. Git will
 tell you for which branch you went, a story of failure otherwise.</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> git checkout develop
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>git<span class="w"> </span>checkout<span class="w"> </span>develop
 <span class="go">Switched to branch &#39;develop&#39;</span>
 </pre></div>
 </div>
 <p>Sitting on top of the right code basis, you should just spawn your own branch
 from it. As an example, your feature will go by the name of ‘sidechain’.</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> git checkout -b sidechain
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>git<span class="w"> </span>checkout<span class="w"> </span>-b<span class="w"> </span>sidechain
 <span class="go">Switched to a new branch &#39;sidechain&#39;</span>
 </pre></div>
 </div>
 <p>This time, Git should tell you about going for <strong>a new</strong> branch.</p>
 <p>Before starting to create anything for real, now is the perfect moment to
 install our very own Git hook to check some coding rules on commit.</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> cp extras/pre_commit/pre-commit .git/hooks/
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cp<span class="w"> </span>extras/pre_commit/pre-commit<span class="w"> </span>.git/hooks/
 </pre></div>
 </div>
 <p>With that in place, changes which break our coding standards will abort any
 commit.</p>
 <p>Now create the directory structure where your project will live. Here is the
 list of directories which are likely to be used in every project.</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> mkdir -p sidechain/doc
-<span class="gp">$</span> mkdir -p sidechain/pymod
-<span class="gp">$</span> mkdir -p sidechain/tests
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>mkdir<span class="w"> </span>-p<span class="w"> </span>sidechain/doc
+<span class="gp">$ </span>mkdir<span class="w"> </span>-p<span class="w"> </span>sidechain/pymod
+<span class="gp">$ </span>mkdir<span class="w"> </span>-p<span class="w"> </span>sidechain/tests
 </pre></div>
 </div>
 <p>If you run <code class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">status</span></code> at this point, you will see basically nothing. That
 is, Git does not admire empty directories. Before you bring your module under
 version control, create a couple of files which are always needed.</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> touch sidechain/pymod/__init__.py
-<span class="gp">$</span> <span class="nb">echo</span> <span class="s2">&quot;:mod:\`~promod3.sidechain\` - ProMod3 side chain optimiser&quot;</span> <span class="se">\</span>
-       &gt;&gt; sidechain/doc/index.rst
-<span class="gp">$</span> <span class="nb">echo</span> <span class="s2">&quot;==========================================================&quot;</span> <span class="se">\</span>
-<span class="s2">&quot;======================&quot;</span> &gt;&gt; sidechain/doc/index.rst
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>touch<span class="w"> </span>sidechain/pymod/__init__.py
+<span class="gp">$ </span><span class="nb">echo</span><span class="w"> </span><span class="s2">&quot;:mod:\`~promod3.sidechain\` - ProMod3 side chain optimiser&quot;</span><span class="w"> </span><span class="se">\</span>
+<span class="w">       </span>&gt;&gt;<span class="w"> </span>sidechain/doc/index.rst
+<span class="gp">$ </span><span class="nb">echo</span><span class="w"> </span><span class="s2">&quot;==========================================================&quot;</span><span class="w"> </span><span class="se">\</span>
+<span class="s2">&quot;======================&quot;</span><span class="w"> </span>&gt;&gt;<span class="w"> </span>sidechain/doc/index.rst
 </pre></div>
 </div>
 <p>Having an empty <code class="file docutils literal notranslate"><span class="pre">__init__.py</span></code> is perfectly fine for Python, it just
@@ -99,33 +102,28 @@ your documentation.</p>
 <p>For integration with <strong class="command">make</strong>, the build system needs to now about the
 new module and its members. This goes for setting up new CMake files and
 extending some around the directory root.</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> touch sidechain/CMakeLists.txt
-<span class="gp">$</span> touch sidechain/pymod/CMakeLists.txt
-<span class="gp">$</span> touch sidechain/doc/CMakeLists.txt
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>touch<span class="w"> </span>sidechain/CMakeLists.txt
+<span class="gp">$ </span>touch<span class="w"> </span>sidechain/pymod/CMakeLists.txt
+<span class="gp">$ </span>touch<span class="w"> </span>sidechain/doc/CMakeLists.txt
 </pre></div>
 </div>
 <p>Each of those files still needs a bit of content. The simplest one comes from
 the module’s root, <code class="file docutils literal notranslate"><span class="pre">sidechain/CMakeLists.txt</span></code>:</p>
-<div class="highlight-cmake notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
-2</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="nf">add_subdirectory(</span><span class="nb">pymod</span><span class="nf">)</span><span class="w"></span>
-<span class="nf">add_subdirectory(</span><span class="nb">doc</span><span class="nf">)</span><span class="w"></span>
+<div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="linenos">1</span><span class="nf">add_subdirectory(</span><span class="nb">pymod</span><span class="nf">)</span>
+<span class="linenos">2</span><span class="nf">add_subdirectory(</span><span class="nb">doc</span><span class="nf">)</span>
 </pre></div>
-</td></tr></table></div>
+</div>
 <p>Those two directives just tell CMake to go and look in directories
 <code class="file docutils literal notranslate"><span class="pre">pymod</span></code> and <code class="file docutils literal notranslate"><span class="pre">doc</span></code> below the current path for more CMake
 configurations. The next level in <code class="file docutils literal notranslate"><span class="pre">CMakeLists.txt</span></code> magic comes for the
 <code class="file docutils literal notranslate"><span class="pre">doc</span></code> directory:</p>
-<div class="highlight-cmake notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
-2
-3
-4
-5</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="nf">set(</span><span class="no">SIDECHAIN_RST</span><span class="w"></span>
-<span class="nb">index.rst</span><span class="w"></span>
-<span class="nf">)</span><span class="w"></span>
-
-<span class="nf">add_doc_source(</span><span class="no">NAME</span><span class="w"> </span><span class="nb">sidechain</span><span class="w"> </span><span class="no">RST</span><span class="w"> </span><span class="o">${</span><span class="nt">SIDECHAIN_RST</span><span class="o">}</span><span class="nf">)</span><span class="w"></span>
+<div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="linenos">1</span><span class="nf">set(</span><span class="no">SIDECHAIN_RST</span>
+<span class="linenos">2</span><span class="nb">index.rst</span>
+<span class="linenos">3</span><span class="nf">)</span>
+<span class="linenos">4</span>
+<span class="linenos">5</span><span class="nf">add_doc_source(</span><span class="no">NAME</span><span class="w"> </span><span class="nb">sidechain</span><span class="w"> </span><span class="no">RST</span><span class="w"> </span><span class="o">${</span><span class="nt">SIDECHAIN_RST</span><span class="o">}</span><span class="nf">)</span>
 </pre></div>
-</td></tr></table></div>
+</div>
 <p><code class="docutils literal notranslate"><span class="pre">add_doc_source</span></code> is our custom CMake macro to register
 reST files for the documentation. On running
 <strong class="command">make</strong>, those files are placed in a <code class="file docutils literal notranslate"><span class="pre">doc/source</span></code> directory tree
@@ -140,17 +138,13 @@ directory structure of the package. All this has to be declared in the
 <code class="file docutils literal notranslate"><span class="pre">pymod</span></code> subtree. We cannot enumerate all specialities but there should be
 a couple of examples around in this repository. Here is the most basic
 <code class="file docutils literal notranslate"><span class="pre">CMakeLists.txt</span></code>:</p>
-<div class="highlight-cmake notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
-2
-3
-4
-5</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="nf">set(</span><span class="no">SIDECHAIN_PYMOD</span><span class="w"></span>
-<span class="nb">__init__.py</span><span class="w"></span>
-<span class="nf">)</span><span class="w"></span>
-
-<span class="nf">pymod(</span><span class="no">NAME</span><span class="w"> </span><span class="nb">sidechain</span><span class="w"> </span><span class="no">PY</span><span class="w"> </span><span class="o">${</span><span class="nt">SIDECHAIN_PYMOD</span><span class="o">}</span><span class="nf">)</span><span class="w"></span>
+<div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="linenos">1</span><span class="nf">set(</span><span class="no">SIDECHAIN_PYMOD</span>
+<span class="linenos">2</span><span class="nb">__init__.py</span>
+<span class="linenos">3</span><span class="nf">)</span>
+<span class="linenos">4</span>
+<span class="linenos">5</span><span class="nf">pymod(</span><span class="no">NAME</span><span class="w"> </span><span class="nb">sidechain</span><span class="w"> </span><span class="no">PY</span><span class="w"> </span><span class="o">${</span><span class="nt">SIDECHAIN_PYMOD</span><span class="o">}</span><span class="nf">)</span>
 </pre></div>
-</td></tr></table></div>
+</div>
 <p>Source files should be again listed in a dedicated variable. Later, you
 probably add some C++ code and settings diverging from the defaults via the
 <code class="docutils literal notranslate"><span class="pre">pymod</span></code> macro. This is where things clutter up quite quickly. As set up here,
@@ -158,37 +152,23 @@ your project would be added as a module <code class="docutils literal notranslat
 Python package tree.</p>
 <p>The final step towards CMake is to register your module’s directory in the
 top level <code class="file docutils literal notranslate"><span class="pre">CMakeLists.txt</span></code>:</p>
-<div class="highlight-cmake notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
-11
-12
-13
-14
-15</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="c">## &lt;lots of cmake commands...&gt;</span>
-
-<span class="c">## sub dirs to be recognised by CMake</span>
-<span class="c">## e.g. add_subdirectory(src), subdirs have their own CMakeLists.txt</span>
-<span class="nf">add_subdirectory(</span><span class="nb">config</span><span class="nf">)</span><span class="w"></span>
-<span class="nf">add_subdirectory(</span><span class="nb">core</span><span class="nf">)</span><span class="w"></span>
-<span class="nf">add_subdirectory(</span><span class="nb">modelling</span><span class="nf">)</span><span class="w"></span>
-<span class="hll"><span class="nf">add_subdirectory(</span><span class="nb">sidechain</span><span class="nf">)</span><span class="w"></span>
-</span><span class="nf">add_subdirectory(</span><span class="nb">loop</span><span class="nf">)</span><span class="w"></span>
-<span class="nf">add_subdirectory(</span><span class="nb">scripts</span><span class="nf">)</span><span class="w"></span>
-<span class="nf">add_subdirectory(</span><span class="nb">actions</span><span class="nf">)</span><span class="w"></span>
-<span class="nf">add_subdirectory(</span><span class="nb">extras</span><span class="nf">)</span><span class="w"></span>
-<span class="nf">add_subdirectory(</span><span class="nb">cmake_support</span><span class="nf">)</span><span class="w"></span>
-
-<span class="c">## &lt;lots of cmake commands...&gt;</span>
+<div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="linenos"> 1</span><span class="c">## &lt;lots of cmake commands...&gt;</span>
+<span class="linenos"> 2</span>
+<span class="linenos"> 3</span><span class="c">## sub dirs to be recognised by CMake</span>
+<span class="linenos"> 4</span><span class="c">## e.g. add_subdirectory(src), subdirs have their own CMakeLists.txt</span>
+<span class="linenos"> 5</span><span class="nf">add_subdirectory(</span><span class="nb">config</span><span class="nf">)</span>
+<span class="linenos"> 6</span><span class="nf">add_subdirectory(</span><span class="nb">core</span><span class="nf">)</span>
+<span class="linenos"> 7</span><span class="nf">add_subdirectory(</span><span class="nb">modelling</span><span class="nf">)</span>
+<span class="hll"><span class="linenos"> 8</span><span class="nf">add_subdirectory(</span><span class="nb">sidechain</span><span class="nf">)</span>
+</span><span class="linenos"> 9</span><span class="nf">add_subdirectory(</span><span class="nb">loop</span><span class="nf">)</span>
+<span class="linenos">10</span><span class="nf">add_subdirectory(</span><span class="nb">scripts</span><span class="nf">)</span>
+<span class="linenos">11</span><span class="nf">add_subdirectory(</span><span class="nb">actions</span><span class="nf">)</span>
+<span class="linenos">12</span><span class="nf">add_subdirectory(</span><span class="nb">extras</span><span class="nf">)</span>
+<span class="linenos">13</span><span class="nf">add_subdirectory(</span><span class="nb">cmake_support</span><span class="nf">)</span>
+<span class="linenos">14</span>
+<span class="linenos">15</span><span class="c">## &lt;lots of cmake commands...&gt;</span>
 </pre></div>
-</td></tr></table></div>
+</div>
 <p>All that needs to be done for CMake to recognise your module is adding its
 directory as shown in line 8.</p>
 <p>This was the final step to set up the build system. Running CMake at this
@@ -204,8 +184,8 @@ still can stay in your repository while being out of the source tree by using
 sub-directories. ProMod3 comes with a dedicated prefix ‘build*’ in
 <code class="file docutils literal notranslate"><span class="pre">.gitignore</span></code>. Have a directory <code class="file docutils literal notranslate"><span class="pre">build</span></code> and <code class="file docutils literal notranslate"><span class="pre">build-dbg</span></code> and it
 will not show up in <code class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">status</span></code>.</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> mkdir build
-<span class="gp">$</span> <span class="nb">cd</span> build
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>mkdir<span class="w"> </span>build
+<span class="gp">$ </span><span class="nb">cd</span><span class="w"> </span>build
 </pre></div>
 </div>
 <p>To actually create all the makefiles and generated files, you may use one of
@@ -214,7 +194,7 @@ those scripts only need to be pointed to an OST staging tree. Even if you
 are on a system not covered by available scripts, their code may help you at
 the CMake command. Once you managed to conquer a new system, feel free to add
 a new configuration script. The following example assumes Fedora 19.</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> ../conf-scripts/fedora-19-conf ../../ost.git/stage
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>../conf-scripts/fedora-19-conf<span class="w"> </span>../../ost.git/stage
 </pre></div>
 </div>
 <p>From this point, <strong class="command">make</strong> should work and you could start adding your
@@ -225,102 +205,71 @@ beginning. At some point, new code needs testing anyway to see if it does what
 it should, so just do this by writing unit tests. Test sources are stored in
 files with a prefix <code class="file docutils literal notranslate"><span class="pre">test_</span></code> and usually come per submodule instead of
 sporting a single monolithic <code class="file docutils literal notranslate"><span class="pre">test_sidechain_reconstruction.py</span></code>.</p>
-<p>Python code is evaluated using its own <a class="reference external" href="https://docs.python.org/3.7/library/unittest.html">unit testing framework</a> with a little help from <a class="reference external" href="https://www.OpenStructure.org">OST</a> (C++ uses the
+<p>Python code is evaluated using its own <a class="reference external" href="https://docs.python.org/3.11/library/unittest.html">unit testing framework</a> with a little help from <a class="reference external" href="https://www.OpenStructure.org">OST</a> (C++ uses the
 Boost <a class="reference external" href="https://www.boost.org/doc/libs/1_53_0/libs/test/doc/html/index.html">Test Library</a>). The
-basic scheme is to import your module, subclass <a class="reference external" href="https://docs.python.org/3.7/library/unittest.html#unittest.TestCase" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">unittest.TestCase</span></code></a> and
-make the whole file runnable as script using the most common <a class="reference external" href="https://docs.python.org/3.7/library/__main__.html"><a class="reference external" href="https://docs.python.org/3.7/reference/import.html#__name__" title="(in Python v3.7)"><code class="xref py py-attr docutils literal notranslate"><span class="pre">__name__</span></code></a></a>
+basic scheme is to import your module, subclass <a class="reference external" href="https://docs.python.org/3.11/library/unittest.html#unittest.TestCase" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">unittest.TestCase</span></code></a> and
+make the whole file runnable as script using the most common <a class="reference external" href="https://docs.python.org/3.11/library/__main__.html"><a class="reference external" href="https://docs.python.org/3.11/reference/import.html#name__" title="(in Python v3.11)"><code class="xref py py-attr docutils literal notranslate"><span class="pre">__name__</span></code></a></a>
 attribute. As an example we test the
 <a class="reference internal" href="modelling/sidechain_reconstruction.html#promod3.modelling.ReconstructSidechains" title="promod3.modelling.ReconstructSidechains"><code class="xref py py-func docutils literal notranslate"><span class="pre">promod3.modelling.ReconstructSidechains()</span></code></a> function:</p>
-<div class="highlight-default notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">unittest</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">modelling</span>
-<span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span><span class="p">,</span><span class="n">mol</span>
-<span class="kn">import</span> <span class="nn">os</span>
-
-<span class="k">class</span> <span class="nc">ReconstructTests</span><span class="p">(</span><span class="n">unittest</span><span class="o">.</span><span class="n">TestCase</span><span class="p">):</span>
-    <span class="k">def</span> <span class="nf">testReconstruct</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
-        <span class="n">in_file</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="s1">&#39;data&#39;</span><span class="p">,</span> <span class="s1">&#39;1eye.pdb&#39;</span><span class="p">)</span>
-        <span class="n">ref_file</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="s1">&#39;data&#39;</span><span class="p">,</span> <span class="s1">&#39;1eye_rec.pdb&#39;</span><span class="p">)</span>
-        <span class="c1"># get and reconstruct 1eye</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="n">in_file</span><span class="p">)</span>
-        <span class="n">modelling</span><span class="o">.</span><span class="n">ReconstructSidechains</span><span class="p">(</span><span class="n">prot</span><span class="p">,</span> <span class="n">keep_sidechains</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
-        <span class="c1"># compare with reference solution</span>
-        <span class="n">prot_rec</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="n">ref_file</span><span class="p">)</span>
-        <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">prot</span><span class="o">.</span><span class="n">GetAtomCount</span><span class="p">(),</span> <span class="n">prot_rec</span><span class="o">.</span><span class="n">GetAtomCount</span><span class="p">())</span>
-
-<span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s2">&quot;__main__&quot;</span><span class="p">:</span>
-    <span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">testutils</span>
-    <span class="n">testutils</span><span class="o">.</span><span class="n">RunTests</span><span class="p">()</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="linenos"> 1</span><span class="kn">import</span> <span class="nn">unittest</span>
+<span class="linenos"> 2</span><span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">modelling</span>
+<span class="linenos"> 3</span><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="linenos"> 4</span><span class="kn">import</span> <span class="nn">os</span>
+<span class="linenos"> 5</span>
+<span class="linenos"> 6</span><span class="k">class</span> <span class="nc">ReconstructTests</span><span class="p">(</span><span class="n">unittest</span><span class="o">.</span><span class="n">TestCase</span><span class="p">):</span>
+<span class="linenos"> 7</span>    <span class="k">def</span> <span class="nf">testReconstruct</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
+<span class="linenos"> 8</span>        <span class="n">in_file</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="s1">&#39;data&#39;</span><span class="p">,</span> <span class="s1">&#39;1eye.pdb&#39;</span><span class="p">)</span>
+<span class="linenos"> 9</span>        <span class="n">ref_file</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="s1">&#39;data&#39;</span><span class="p">,</span> <span class="s1">&#39;1eye_rec.pdb&#39;</span><span class="p">)</span>
+<span class="linenos">10</span>        <span class="c1"># get and reconstruct 1eye</span>
+<span class="linenos">11</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="n">in_file</span><span class="p">)</span>
+<span class="linenos">12</span>        <span class="n">modelling</span><span class="o">.</span><span class="n">ReconstructSidechains</span><span class="p">(</span><span class="n">prot</span><span class="p">,</span> <span class="n">keep_sidechains</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+<span class="linenos">13</span>        <span class="c1"># compare with reference solution</span>
+<span class="linenos">14</span>        <span class="n">prot_rec</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="n">ref_file</span><span class="p">)</span>
+<span class="linenos">15</span>        <span class="bp">self</span><span class="o">.</span><span class="n">assertEqual</span><span class="p">(</span><span class="n">prot</span><span class="o">.</span><span class="n">GetAtomCount</span><span class="p">(),</span> <span class="n">prot_rec</span><span class="o">.</span><span class="n">GetAtomCount</span><span class="p">())</span>
+<span class="linenos">16</span>
+<span class="linenos">17</span><span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s2">&quot;__main__&quot;</span><span class="p">:</span>
+<span class="linenos">18</span>    <span class="kn">from</span> <span class="nn">ost</span> <span class="kn">import</span> <span class="n">testutils</span>
+<span class="linenos">19</span>    <span class="n">testutils</span><span class="o">.</span><span class="n">RunTests</span><span class="p">()</span>
 </pre></div>
-</td></tr></table></div>
+</div>
 <p>To hook up your tests with <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">codetest</span></code> (and to create a
 <code class="docutils literal notranslate"><span class="pre">test_reconstruct_sidechains.py_run</span></code> target), everything has to be introduced to CMake.
 First, tell CMake to search <code class="file docutils literal notranslate"><span class="pre">tests</span></code> for a <code class="file docutils literal notranslate"><span class="pre">CMakeLists.txt</span></code> file
 by extending the list of sub-directories in <code class="file docutils literal notranslate"><span class="pre">sidechain/CMakeLists.txt</span></code>:</p>
-<div class="highlight-cmake notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
-2
-3</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="w"> </span><span class="nf">add_subdirectory(</span><span class="nb">pymod</span><span class="nf">)</span><span class="w"></span>
-<span class="w"> </span><span class="nf">add_subdirectory(</span><span class="nb">doc</span><span class="nf">)</span><span class="w"></span>
-<span class="w"> </span><span class="nf">add_subdirectory(</span><span class="nb">tests</span><span class="nf">)</span><span class="w"></span>
+<div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="linenos">1</span><span class="w"> </span><span class="nf">add_subdirectory(</span><span class="nb">pymod</span><span class="nf">)</span>
+<span class="linenos">2</span><span class="w"> </span><span class="nf">add_subdirectory(</span><span class="nb">doc</span><span class="nf">)</span>
+<span class="linenos">3</span><span class="w"> </span><span class="nf">add_subdirectory(</span><span class="nb">tests</span><span class="nf">)</span>
 </pre></div>
-</td></tr></table></div>
+</div>
 <p>Then fill <code class="file docutils literal notranslate"><span class="pre">sidechain/tests/CMakeLists.txt</span></code> with your new test script and
 <code class="docutils literal notranslate"><span class="pre">make</span></code> will recognise the changes next time it is run and fix the rest for
 you.</p>
-<div class="highlight-cmake notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
-11
-12</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="nf">set(</span><span class="no">SIDECHAIN_UNIT_TESTS</span><span class="w"></span>
-<span class="w">  </span><span class="nb">test_reconstruct_sidechains.py</span><span class="w"></span>
-<span class="nf">)</span><span class="w"></span>
-
-<span class="nf">set(</span><span class="no">SIDECHAIN_TEST_DATA</span><span class="w"></span>
-<span class="w">  </span><span class="na">data/1eye.pdb</span><span class="w"></span>
-<span class="w">  </span><span class="na">data/1eye_rec.pdb</span><span class="w"></span>
-<span class="nf">)</span><span class="w"></span>
-
-<span class="nf">promod3_unittest(</span><span class="no">MODULE</span><span class="w"> </span><span class="nb">sidechain</span><span class="w"></span>
-<span class="w">                 </span><span class="no">SOURCES</span><span class="w"> </span><span class="s">&quot;${SIDECHAIN_UNIT_TESTS}&quot;</span><span class="w"></span>
-<span class="w">                 </span><span class="no">DATA</span><span class="w"> </span><span class="s">&quot;${SIDECHAIN_TEST_DATA}&quot;</span><span class="nf">)</span><span class="w"></span>
+<div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="linenos"> 1</span><span class="nf">set(</span><span class="no">SIDECHAIN_UNIT_TESTS</span>
+<span class="linenos"> 2</span><span class="w">  </span><span class="nb">test_reconstruct_sidechains.py</span>
+<span class="linenos"> 3</span><span class="nf">)</span>
+<span class="linenos"> 4</span>
+<span class="linenos"> 5</span><span class="nf">set(</span><span class="no">SIDECHAIN_TEST_DATA</span>
+<span class="linenos"> 6</span><span class="w">  </span><span class="na">data/1eye.pdb</span>
+<span class="linenos"> 7</span><span class="w">  </span><span class="na">data/1eye_rec.pdb</span>
+<span class="linenos"> 8</span><span class="nf">)</span>
+<span class="linenos"> 9</span>
+<span class="linenos">10</span><span class="nf">promod3_unittest(</span><span class="no">MODULE</span><span class="w"> </span><span class="nb">sidechain</span>
+<span class="linenos">11</span><span class="w">                 </span><span class="no">SOURCES</span><span class="w"> </span><span class="s">&quot;${SIDECHAIN_UNIT_TESTS}&quot;</span>
+<span class="linenos">12</span><span class="w">                 </span><span class="no">DATA</span><span class="w"> </span><span class="s">&quot;${SIDECHAIN_TEST_DATA}&quot;</span><span class="nf">)</span>
 </pre></div>
-</td></tr></table></div>
+</div>
 <p>Note how we listed the test data that we require in the unit test by defining
 <code class="docutils literal notranslate"><span class="pre">SIDECHAIN_TEST_DATA</span></code>.</p>
 <p>Now tests should be available by <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">check</span></code>, <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">codetest</span></code> and
 <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">test_reconstruct_sidechains.py_run</span></code>.</p>
-</div>
-<div class="section" id="how-to-start-your-own-action">
-<span id="id2"></span><h2>How To Start Your Own Action<a class="headerlink" href="#how-to-start-your-own-action" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="how-to-start-your-own-action">
+<span id="id2"></span><h2>How To Start Your Own Action<a class="headerlink" href="#how-to-start-your-own-action" title="Permalink to this heading">¶</a></h2>
 <p>In ProMod3 we call scripts/ programs ‘actions’. They are started by a
 launcher found in your staging directory at <code class="file docutils literal notranslate"><span class="pre">stage/bin/pm</span></code>. This little
 guy helps keeping the shell environment in the right mood to carry out your
 job. So usually you will start an action by</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> stage/bin/pm <span class="nb">help</span>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>stage/bin/pm<span class="w"> </span><span class="nb">help</span>
 </pre></div>
 </div>
 <p>To start your own action, follow <a class="reference internal" href="#how-to-start-your-own-module"><span class="std std-ref">How To Start Your Own Module</span></a> until
@@ -331,8 +280,8 @@ get public.</p>
 <p>After preparing your repository its time to create a file for the action. That
 is a bit different than for modules. Assuming we are sitting in the
 repository’s root:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> touch action/pm-awesome-action
-<span class="gp">$</span> chmod +x action/pm-awesome-action
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>touch<span class="w"> </span>action/pm-awesome-action
+<span class="gp">$ </span>chmod<span class="w"> </span>+x<span class="w"> </span>action/pm-awesome-action
 </pre></div>
 </div>
 <p>Two things are important here: actions are prefixed with <code class="file docutils literal notranslate"><span class="pre">pm-</span></code>, so they
@@ -342,21 +291,15 @@ executable, which does not propagate if you do it <strong>after</strong> the fir
 <p>To get the new action recognised by <code class="docutils literal notranslate"><span class="pre">make</span></code> to be placed in
 <code class="file docutils literal notranslate"><span class="pre">stage/libexec/promod3</span></code>, it has to be registered with CMake in
 <code class="file docutils literal notranslate"><span class="pre">actions/CMakeLists.txt</span></code>:</p>
-<div class="highlight-cmake notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1
-2
-3
-4
-5
-6
-7</pre></div></td><td class="code"><div class="highlight"><pre><span></span><span class="w"> </span><span class="nf">add_custom_target(</span><span class="nb">actions</span><span class="w"> </span><span class="no">ALL</span><span class="nf">)</span><span class="w"></span>
-<span class="w"> </span><span class="nf">add_subdirectory(</span><span class="nb">tests</span><span class="nf">)</span><span class="w"></span>
-
-<span class="w"> </span><span class="nf">pm_action_init()</span><span class="w"></span>
-<span class="w"> </span><span class="nf">pm_action(</span><span class="nb">pm-build-rawmodel</span><span class="w"> </span><span class="nb">actions</span><span class="nf">)</span><span class="w"></span>
-<span class="w"> </span><span class="nf">pm_action(</span><span class="nb">pm-help</span><span class="w"> </span><span class="nb">actions</span><span class="nf">)</span><span class="w"></span>
-<span class="w"> </span><span class="nf">pm_action(</span><span class="nb">pm-awesome-action</span><span class="w"> </span><span class="nb">actions</span><span class="nf">)</span><span class="w"></span>
+<div class="highlight-cmake notranslate"><div class="highlight"><pre><span></span><span class="linenos">1</span><span class="w"> </span><span class="nf">add_custom_target(</span><span class="nb">actions</span><span class="w"> </span><span class="no">ALL</span><span class="nf">)</span>
+<span class="linenos">2</span><span class="w"> </span><span class="nf">add_subdirectory(</span><span class="nb">tests</span><span class="nf">)</span>
+<span class="linenos">3</span>
+<span class="linenos">4</span><span class="w"> </span><span class="nf">pm_action_init()</span>
+<span class="linenos">5</span><span class="w"> </span><span class="nf">pm_action(</span><span class="nb">pm-build-rawmodel</span><span class="w"> </span><span class="nb">actions</span><span class="nf">)</span>
+<span class="linenos">6</span><span class="w"> </span><span class="nf">pm_action(</span><span class="nb">pm-help</span><span class="w"> </span><span class="nb">actions</span><span class="nf">)</span>
+<span class="linenos">7</span><span class="w"> </span><span class="nf">pm_action(</span><span class="nb">pm-awesome-action</span><span class="w"> </span><span class="nb">actions</span><span class="nf">)</span>
 </pre></div>
-</td></tr></table></div>
+</div>
 <p>Just add your action with its full filename with a call to
 <span class="target" id="index-0-command:pm_action"></span><a class="reference internal" href="cmake/index.html#command:pm_action" title="pm_action"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">pm_action()</span></code></a> at the end of the file.</p>
 <p>Before coding your action, lets set up unit tests for it. Usually when adding
@@ -364,23 +307,22 @@ features, you will immediately try them, check that everything works as
 intended, etc.. ProMod3 helps you automatising those tests so its rather easy
 to check later, if code changes break anything.  For actions, we are using
 <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 notranslate"><span class="pre">test_actions.ActionTestCase</span></code></a> instead of
-<a class="reference external" href="https://docs.python.org/3.7/library/unittest.html#unittest.TestCase" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">unittest.TestCase</span></code></a>. Since testing has a lot in common for different
+<a class="reference external" href="https://docs.python.org/3.11/library/unittest.html#unittest.TestCase" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><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: Testing Actions"><code class="xref py py-class docutils literal notranslate"><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 notranslate"><span class="pre">actions</span></code>
 directory. There are only two really important points:</p>
 <ul>
-<li><p class="first">No shebang line (<code class="docutils literal notranslate"><span class="pre">#!</span> <span class="pre">/usr/bin/python</span></code>) in your action! Also no
+<li><p>No shebang line (<code class="docutils literal notranslate"><span class="pre">#!</span> <span class="pre">/usr/bin/python</span></code>) in your action! Also no
 <code class="docutils literal notranslate"><span class="pre">#!</span> <span class="pre">/usr/bin/env</span> <span class="pre">python</span></code> or anything like this. This may lead to funny side
 effects, like calling a Python interpreter from outside a virtual
 environment or a different version OST. Basically it may mess up the
 environment your action is running in. Actions are called by <code class="file docutils literal notranslate"><span class="pre">pm</span></code>,
-that’s enough to get everything just right.</p>
-</li>
-<li><p class="first">The action of your action happens in the <a class="reference external" href="https://docs.python.org/3.7/library/__main__.html"><code class="xref py py-attr docutils literal notranslate"><span class="pre">__main__</span></code></a> branch of the script.
+that’s enough to get everything just right.</p></li>
+<li><p>The action of your action happens in the <a class="reference external" href="https://docs.python.org/3.11/library/__main__.html"><code class="xref py py-attr docutils literal notranslate"><span class="pre">__main__</span></code></a> branch of the script.
 Your action will have own function definitions, variables and all the bells
-and whistles. Hiding behind <a class="reference external" href="https://docs.python.org/3.7/library/__main__.html"><code class="xref py py-attr docutils literal notranslate"><span class="pre">__main__</span></code></a> keeps everything separated and makes
+and whistles. Hiding behind <a class="reference external" href="https://docs.python.org/3.11/library/__main__.html"><code class="xref py py-attr docutils literal notranslate"><span class="pre">__main__</span></code></a> keeps everything separated and makes
 things easier when it gets to debugging. So just after</p>
 <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">alot</span>
 
@@ -393,14 +335,14 @@ things easier when it gets to debugging. So just after</p>
 <p>start putting your action together.</p>
 </li>
 </ul>
-</div>
-<div class="section" id="how-to-write-your-own-scorer">
-<h2>How To Write Your Own Scorer<a class="headerlink" href="#how-to-write-your-own-scorer" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="how-to-write-your-own-scorer">
+<h2>How To Write Your Own Scorer<a class="headerlink" href="#how-to-write-your-own-scorer" title="Permalink to this heading">¶</a></h2>
 <p>The <a class="reference internal" href="scoring/index.html#module-promod3.scoring" title="promod3.scoring: Loop Scoring"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code></a> module contains several classes to make it easy to
 add new scorers. As usual, you can use existing bits and pieces as examples and
 try to be consistent with it. Here, we quickly give an overview of the separation of concerns:</p>
 <ul>
-<li><p class="first"><a class="reference internal" href="scoring/backbone_scorers.html#promod3.scoring.BackboneScorer" title="promod3.scoring.BackboneScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScorer</span></code></a>:
+<li><p><a class="reference internal" href="scoring/backbone_scorers.html#promod3.scoring.BackboneScorer" title="promod3.scoring.BackboneScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScorer</span></code></a>:
 Defines the scorer with all its parameters and energies and the functionality
 to compute scores. Scorers are setup by the user (or loaded from disk) if
 necessary.</p>
@@ -408,7 +350,7 @@ necessary.</p>
 pointers to env. data kept and updated by the score env.. Also, they may be
 linked to a score env. listener to handle specially organized data.</p>
 </li>
-<li><p class="first"><a class="reference internal" href="scoring/backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a>:
+<li><p><a class="reference internal" href="scoring/backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a>:
 Handles all model-specific data used by the scorers. The user sets up the
 environment and updates it whenever something changes.</p>
 <p>Residue-specific data is kept in arrays of fixed size (see <code class="xref py py-class docutils literal notranslate"><span class="pre">IdxHandler</span></code>
@@ -417,7 +359,7 @@ with “GetEnvSetData()” and used to determine whether env. data is available
 for a certain residue. The list of sequences handled by the env. is fixed as
 otherwise pointers into the data-storage would be invalidated.</p>
 </li>
-<li><p class="first"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnvListener</span></code>:
+<li><p><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnvListener</span></code>:
 Allows to have score-specific data to be extracted from the model-specific
 data available in the score env. class. It is commonly used to define
 spatially organized structures to quickly access other atoms within a given
@@ -428,36 +370,35 @@ listener. Listeners are not accessible by anyone outside of the scorers and
 the score env. object responsible for it. Since the user doesn’t see them,
 there is no Python API for them.</p>
 </li>
-<li><p class="first"><code class="xref py py-class docutils literal notranslate"><span class="pre">IdxHandler</span></code>:
+<li><p><code class="xref py py-class docutils literal notranslate"><span class="pre">IdxHandler</span></code>:
 This takes care of translating chain indices (range [0, GetNumChains()])
 and residue numbers (range [1, GetChainSize(chain_idx)]) into the indexing
 used internally by the score env. (range [0, GetNumResidues()]).
-The score env. takes care of this object and makes it accessible for scorers.</p>
-</li>
+The score env. takes care of this object and makes it accessible for scorers.</p></li>
 </ul>
 <p>As an example, let’s look at the <a class="reference internal" href="scoring/backbone_scorers.html#promod3.scoring.CBPackingScorer" title="promod3.scoring.CBPackingScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBPackingScorer</span></code></a>:</p>
 <ul class="simple">
-<li>it contains score-specific parameters and energies which can be either
-set manually or loaded from disk</li>
-<li>it is linked to a score env. listener of type <code class="xref py py-class docutils literal notranslate"><span class="pre">CBetaEnvListener</span></code>,
+<li><p>it contains score-specific parameters and energies which can be either
+set manually or loaded from disk</p></li>
+<li><p>it is linked to a score env. listener of type <code class="xref py py-class docutils literal notranslate"><span class="pre">CBetaEnvListener</span></code>,
 which provides a <code class="xref py py-meth docutils literal notranslate"><span class="pre">FindWithin()</span></code> function to quickly access neighboring
 CB atoms (note that the same listener is also used by the
-<a class="reference internal" href="scoring/backbone_scorers.html#promod3.scoring.CBetaScorer" title="promod3.scoring.CBetaScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBetaScorer</span></code></a>)</li>
-<li>a pointer to the <code class="xref py py-class docutils literal notranslate"><span class="pre">IdxHandler</span></code> object of the score env. is extracted
+<a class="reference internal" href="scoring/backbone_scorers.html#promod3.scoring.CBetaScorer" title="promod3.scoring.CBetaScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBetaScorer</span></code></a>)</p></li>
+<li><p>a pointer to the <code class="xref py py-class docutils literal notranslate"><span class="pre">IdxHandler</span></code> object of the score env. is extracted
 when the environment is attached and is used to get sequence-specific data
-when calculating the score</li>
+when calculating the score</p></li>
 </ul>
 <p>As a second example, look at the <a class="reference internal" href="scoring/backbone_scorers.html#promod3.scoring.PairwiseScorer" title="promod3.scoring.PairwiseScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">PairwiseScorer</span></code></a>:</p>
 <ul class="simple">
-<li>it does not require any score-specific setup</li>
-<li>it is linked to residue-specific CA/CB positions and the pairwise functions
-defined in the score env.</li>
-<li>“GetEnvSetData()” of the score env. is used to determine if env. data is
-available for a given residue</li>
+<li><p>it does not require any score-specific setup</p></li>
+<li><p>it is linked to residue-specific CA/CB positions and the pairwise functions
+defined in the score env.</p></li>
+<li><p>“GetEnvSetData()” of the score env. is used to determine if env. data is
+available for a given residue</p></li>
 </ul>
-</div>
-<div class="section" id="quick-testing-of-project-features">
-<h2>Quick testing of ProMod3 features<a class="headerlink" href="#quick-testing-of-project-features" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="quick-testing-of-project-features">
+<h2>Quick testing of ProMod3 features<a class="headerlink" href="#quick-testing-of-project-features" title="Permalink to this heading">¶</a></h2>
 <p>High-level features of ProMod3, can be tested directly in an interactive
 Python shell. First, you need to tell Python, where to find the modules by
 defining the <code class="docutils literal notranslate"><span class="pre">PYTHONPATH</span></code> env. variable in your shell to include the
@@ -470,48 +411,48 @@ folder and adapt it for your purposes. First, you will have to fix the paths
 to ProMod3 and OST in the <code class="file docutils literal notranslate"><span class="pre">Makefile</span></code> by changing the following
 lines:</p>
 <div class="highlight-make notranslate"><div class="highlight"><pre><span></span><span class="c"># path to OST and ProMod3 stage</span>
-<span class="nv">OST_ROOT</span> <span class="o">=</span> &lt;DEFINEME&gt;/ost/build/stage
-<span class="nv">PROMOD3_ROOT</span> <span class="o">=</span> &lt;DEFINEME&gt;/ProMod3/build/stage
+<span class="nv">OST_ROOT</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>&lt;DEFINEME&gt;/ost/build/stage
+<span class="nv">PROMOD3_ROOT</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>&lt;DEFINEME&gt;/ProMod3/build/stage
 </pre></div>
 </div>
 <p>Afterwards, you should be able to compile and run small sample codes that use
 ProMod3 and OST as in the <code class="file docutils literal notranslate"><span class="pre">test.cc</span></code> example. You can compile your
 code by executing <code class="docutils literal notranslate"><span class="pre">make</span></code> and run it with <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">run</span></code>. Also, remember to set
 the <code class="docutils literal notranslate"><span class="pre">PROMOD3_SHARED_DATA_PATH</span></code> variable if you moved the stage folder.</p>
-</div>
-<div class="section" id="unit-tests">
-<h2>Unit Tests<a class="headerlink" href="#unit-tests" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="unit-tests">
+<h2>Unit Tests<a class="headerlink" href="#unit-tests" title="Permalink to this heading">¶</a></h2>
 <p>Of course your code should contain tests. But we cannot give an elaborate
 tutorial on unit testing here. Again, have a look at how other modules treat
 this topic and then there is quite a lot of educated material to be found on
 the Internet. Nevertheless, here is a short list of most important advices:</p>
 <ul class="simple">
-<li>Tests go into dedicated scripts/ source files in the <code class="file docutils literal notranslate"><span class="pre">tests</span></code> directory</li>
-<li>No external data dependencies, if tests need data, they find it in
-<code class="file docutils literal notranslate"><span class="pre">tests/data</span></code></li>
-<li>If ‘exotic’ Python modules are used, consider making the test aware of the
-possibility that the module is not available</li>
-<li>Tests do not fail on purpose</li>
-<li>No failing tests, that are considered ‘this does not affect anything’</li>
+<li><p>Tests go into dedicated scripts/ source files in the <code class="file docutils literal notranslate"><span class="pre">tests</span></code> directory</p></li>
+<li><p>No external data dependencies, if tests need data, they find it in
+<code class="file docutils literal notranslate"><span class="pre">tests/data</span></code></p></li>
+<li><p>If ‘exotic’ Python modules are used, consider making the test aware of the
+possibility that the module is not available</p></li>
+<li><p>Tests do not fail on purpose</p></li>
+<li><p>No failing tests, that are considered ‘this does not affect anything’</p></li>
 </ul>
 <p>To run the whole test suite, <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">check</span></code> is enough. This will also trigger
 the <code class="docutils literal notranslate"><span class="pre">doctest</span></code> and <code class="docutils literal notranslate"><span class="pre">linkcheck</span></code> targets. Alternatively you can run:</p>
 <ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">codetest</span></code> to run only unit tests from all modules in ProMod3.
+<li><p><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">codetest</span></code> to run only unit tests from all modules in ProMod3.
 Note that <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">check</span></code> does nothing more but invoking <code class="docutils literal notranslate"><span class="pre">doctest</span></code>,
-<code class="docutils literal notranslate"><span class="pre">linkcheck</span></code> and <code class="docutils literal notranslate"><span class="pre">codetest</span></code> as dependencies.</li>
-<li><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">check_xml</span></code> to run tests without stopping after each failure.
+<code class="docutils literal notranslate"><span class="pre">linkcheck</span></code> and <code class="docutils literal notranslate"><span class="pre">codetest</span></code> as dependencies.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">check_xml</span></code> to run tests without stopping after each failure.
 Failures are shortly reported to the command line and the result of each test
 is written in ‘PYTEST-&lt;TestCaseName&gt;.xml’ files in the ‘tests’ subfolders of
-your ‘build’ folder.</li>
-<li>Run single tests:
+your ‘build’ folder.</p></li>
+<li><p>Run single tests:
 assuming you have <code class="file docutils literal notranslate"><span class="pre">your_module/tests/test_awesome_feature.py</span></code>, CMake
 will provide you with a target <code class="docutils literal notranslate"><span class="pre">test_awesome_feature.py_run</span></code>. If your module
-has C++ tests, those will be available by <code class="docutils literal notranslate"><span class="pre">test_suite_your_module_run</span></code>.</li>
+has C++ tests, those will be available by <code class="docutils literal notranslate"><span class="pre">test_suite_your_module_run</span></code>.</p></li>
 </ul>
-</div>
-<div class="section" id="writing-documentation">
-<span id="id3"></span><h2>Writing Documentation<a class="headerlink" href="#writing-documentation" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="writing-documentation">
+<span id="id3"></span><h2>Writing Documentation<a class="headerlink" href="#writing-documentation" title="Permalink to this heading">¶</a></h2>
 <p>To create documentation, we use <a class="reference external" href="http://sphinx-doc.org/">Sphinx</a> to go from reStructuredText
 (reST) files and API documentation in source files to HTML
 or man pages.</p>
@@ -550,32 +491,32 @@ test function. Usually, the codes are run and the return code is checked.
 Command-line output or resulting files can also be checked (see existing test
 codes for examples). A few more guidelines for example codes:</p>
 <ul class="simple">
-<li>If it generates files as output, please delete them after checking them.</li>
-<li>If it requires external modules or binaries, check for their availablity. If
+<li><p>If it generates files as output, please delete them after checking them.</p></li>
+<li><p>If it requires external modules or binaries, check for their availablity. If
 the external dependencies are not available, output a warning and skip the
-test.</li>
+test.</p></li>
 </ul>
 <p>A copy of the generated html documentation is kept in <code class="file docutils literal notranslate"><span class="pre">doc/html</span></code> so that
 there is no need to compile ProMod3 to read it. Our policy is to keep that
 folder in-sync with the latest documentation at least on the <code class="docutils literal notranslate"><span class="pre">master</span></code> branch
 (i.e. for every release). You can use the following commands to do the update:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> <span class="nb">cd</span> &lt;PROMOD3_PATH&gt;/build
-<span class="gp">$</span> make html
-<span class="gp">$</span> rsync -iv -az --exclude<span class="o">=</span><span class="s2">&quot;.*&quot;</span> --delete <span class="se">\</span>
-        <span class="s2">&quot;stage/share/promod3/html/&quot;</span> <span class="s2">&quot;../doc/html&quot;</span>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span><span class="nb">cd</span><span class="w"> </span>&lt;PROMOD3_PATH&gt;/build
+<span class="gp">$ </span>make<span class="w"> </span>html
+<span class="gp">$ </span>rsync<span class="w"> </span>-iv<span class="w"> </span>-az<span class="w"> </span>--exclude<span class="o">=</span><span class="s2">&quot;.*&quot;</span><span class="w"> </span>--delete<span class="w"> </span><span class="se">\</span>
+<span class="w">        </span><span class="s2">&quot;stage/share/promod3/html/&quot;</span><span class="w"> </span><span class="s2">&quot;../doc/html&quot;</span>
 </pre></div>
 </div>
-</div>
-<div class="section" id="third-party-contributions-license-issues">
-<h2>Third Party Contributions (License Issues)<a class="headerlink" href="#third-party-contributions-license-issues" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="third-party-contributions-license-issues">
+<h2>Third Party Contributions (License Issues)<a class="headerlink" href="#third-party-contributions-license-issues" title="Permalink to this heading">¶</a></h2>
 <p>For some tasks you may want to make use of third party contributions in your
 module, for example</p>
 <ul class="simple">
-<li>calling/ using the output of third party binaries</li>
-<li>external libraries</li>
-<li>smallish bits of source code included into the ProMod3 directory tree</li>
-<li>Python modules not distributed as part of the Python
-<a class="reference external" href="https://docs.python.org/3.7/library/">standard library</a></li>
+<li><p>calling/ using the output of third party binaries</p></li>
+<li><p>external libraries</p></li>
+<li><p>smallish bits of source code included into the ProMod3 directory tree</p></li>
+<li><p>Python modules not distributed as part of the Python
+<a class="reference external" href="https://docs.python.org/3.11/library/">standard library</a></p></li>
 </ul>
 <p>Modules from the Python standard library are covered by the Python
 <a class="reference external" href="https://docs.python.org/3.6/license.html">license</a> and
@@ -594,11 +535,12 @@ acknowledgements. We definitively support this. Either go by example phrases
 suggested in the license itself or find some nice paragraph yourself and place
 it in the documentation. We should also not forget to promote those
 contributions to web pages using ProMod3.</p>
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -629,33 +571,39 @@ contributions to web pages using ProMod3.</p>
   <li><a href="index.html">Documentation overview</a><ul>
   <li><a href="developers.html">Documentation For Developers</a><ul>
       <li>Previous: <a href="dev_setup.html" title="previous chapter">ProMod3 Setup</a></li>
-      <li>Next: <a href="actions/index_dev.html" title="next chapter"><code class="docutils literal notranslate"><span class="pre">test_actions</span></code> - Testing Actions</a></li>
+      <li>Next: <a href="actions/index_dev.html" title="next chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">test_actions</span></code> - Testing Actions</a></li>
   </ul></li>
   </ul></li>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="_sources/contributing.rst.txt"
diff --git a/doc/html/core/geometry.html b/doc/html/core/geometry.html
index cfff0da976ba58a7e8130acce8b2e20abd860001..95ddc8721ebe7ed701ddb0e55fb2631778a24822 100644
--- a/doc/html/core/geometry.html
+++ b/doc/html/core/geometry.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Geometry functions &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Geometry functions &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Runtime profiling" href="runtime_profiling.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,275 +31,236 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="geometry-functions">
-<h1>Geometry functions<a class="headerlink" href="#geometry-functions" title="Permalink to this headline">¶</a></h1>
-<dl class="function">
-<dt id="promod3.core.EvaluateGromacsPosRule">
-<code class="descclassname">promod3.core.</code><code class="descname">EvaluateGromacsPosRule</code><span class="sig-paren">(</span><em>rule</em>, <em>number</em>, <em>anchors</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.EvaluateGromacsPosRule" title="Permalink to this definition">¶</a></dt>
+  <section id="geometry-functions">
+<h1>Geometry functions<a class="headerlink" href="#geometry-functions" title="Permalink to this heading">¶</a></h1>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.core.EvaluateGromacsPosRule">
+<span class="sig-prename descclassname"><span class="pre">promod3.core.</span></span><span class="sig-name descname"><span class="pre">EvaluateGromacsPosRule</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rule</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">number</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">anchors</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.EvaluateGromacsPosRule" title="Permalink to this definition">¶</a></dt>
 <dd><p>Constructs <em>number</em> positions with the given Gromacs rule and anchor positions
 (see Gromacs manual for details).</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>rule</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Gromacs rule</li>
-<li><strong>number</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Desired number of positions (max. 3)</li>
-<li><strong>anchors</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Anchor positions (max. 4)</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>rule</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Gromacs rule</p></li>
+<li><p><strong>number</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Desired number of positions (max. 3)</p></li>
+<li><p><strong>anchors</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Anchor positions (max. 4)</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Constructed <em>number</em> positions.</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="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Constructed <em>number</em> positions.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.core.ConstructCTerminalOxygens">
-<code class="descclassname">promod3.core.</code><code class="descname">ConstructCTerminalOxygens</code><span class="sig-paren">(</span><em>c_pos</em>, <em>ca_pos</em>, <em>n_pos</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.ConstructCTerminalOxygens" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.core.ConstructCTerminalOxygens">
+<span class="sig-prename descclassname"><span class="pre">promod3.core.</span></span><span class="sig-name descname"><span class="pre">ConstructCTerminalOxygens</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">c_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ca_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_pos</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.ConstructCTerminalOxygens" title="Permalink to this definition">¶</a></dt>
 <dd><p>Constructs positions of O and OXT atoms for C terminal.</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>c_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Position of C atom</li>
-<li><strong>n_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Position of nitrogen atom</li>
-<li><strong>ca_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Position of C-alpha atom</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>c_pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Position of C atom</p></li>
+<li><p><strong>n_pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Position of nitrogen atom</p></li>
+<li><p><strong>ca_pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Position of C-alpha atom</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Positions of O and OXT atoms.</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="https://docs.python.org/3.7/library/stdtypes.html#tuple" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> of <a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Positions of O and OXT atoms.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#tuple" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> of <a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.core.ConstructAtomPos">
-<code class="descclassname">promod3.core.</code><code class="descname">ConstructAtomPos</code><span class="sig-paren">(</span><em>A</em>, <em>B</em>, <em>C</em>, <em>bond_length</em>, <em>angle</em>, <em>dihedral</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.ConstructAtomPos" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.core.ConstructAtomPos">
+<span class="sig-prename descclassname"><span class="pre">promod3.core.</span></span><span class="sig-name descname"><span class="pre">ConstructAtomPos</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">A</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">B</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">C</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bond_length</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dihedral</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.ConstructAtomPos" title="Permalink to this definition">¶</a></dt>
 <dd><p>Constructs position of atom “D” based on bond length (C-D), angle (B-C-D) and
 dihedral (A-B-C-D).</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>A</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Position of atom A</li>
-<li><strong>B</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Position of atom B</li>
-<li><strong>C</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Position of atom C</li>
-<li><strong>bond_length</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Bond length (C-D)</li>
-<li><strong>angle</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle (B-C-D)</li>
-<li><strong>dihedral</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Dihedral (A-B-C-D)</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>A</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Position of atom A</p></li>
+<li><p><strong>B</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Position of atom B</p></li>
+<li><p><strong>C</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Position of atom C</p></li>
+<li><p><strong>bond_length</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Bond length (C-D)</p></li>
+<li><p><strong>angle</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle (B-C-D)</p></li>
+<li><p><strong>dihedral</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Dihedral (A-B-C-D)</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Position of atom D</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="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Position of atom D</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.core.ConstructCBetaPos">
-<code class="descclassname">promod3.core.</code><code class="descname">ConstructCBetaPos</code><span class="sig-paren">(</span><em>n_pos</em>, <em>ca_pos</em>, <em>c_pos</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.ConstructCBetaPos" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.core.ConstructCBetaPos">
+<span class="sig-prename descclassname"><span class="pre">promod3.core.</span></span><span class="sig-name descname"><span class="pre">ConstructCBetaPos</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ca_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_pos</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.ConstructCBetaPos" title="Permalink to this definition">¶</a></dt>
 <dd><p>Constructs position of C-beta atom given the positions of the backbone nitrogen,
 C-alpha and C 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">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>n_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Position of nitrogen atom</li>
-<li><strong>ca_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Position of C-alpha atom</li>
-<li><strong>c_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Position of C atom</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>n_pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Position of nitrogen atom</p></li>
+<li><p><strong>ca_pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Position of C-alpha atom</p></li>
+<li><p><strong>c_pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Position of C atom</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Position of C-beta atom</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="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Position of C-beta atom</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.core.RotationAroundLine">
-<code class="descclassname">promod3.core.</code><code class="descname">RotationAroundLine</code><span class="sig-paren">(</span><em>axis</em>, <em>anchor</em>, <em>angle</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.RotationAroundLine" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.core.RotationAroundLine">
+<span class="sig-prename descclassname"><span class="pre">promod3.core.</span></span><span class="sig-name descname"><span class="pre">RotationAroundLine</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">axis</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">anchor</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.RotationAroundLine" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a geometric transform leading to a rotation with specified <cite>angle</cite>
 around a line defined by <cite>axis</cite> and <cite>anchor</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>axis</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Axis of rotation</li>
-<li><strong>anchor</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Anchor for rotation</li>
-<li><strong>angle</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle (in radians in range [-pi,pi]) of rotation</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>axis</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Axis of rotation</p></li>
+<li><p><strong>anchor</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Anchor for rotation</p></li>
+<li><p><strong>angle</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle (in radians in range [-pi,pi]) of rotation</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Transformation matrix</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="https://www.openstructure.org/docs/2.4/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Mat4</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Transformation matrix</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Mat4</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt>
-<code class="descclassname">promod3.core.</code><code class="descname">RotationAroundLine</code><span class="sig-paren">(</span><em>axis</em>, <em>angle</em><span class="sig-paren">)</span></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="id0">
+<span class="sig-prename descclassname"><span class="pre">promod3.core.</span></span><span class="sig-name descname"><span class="pre">RotationAroundLine</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">axis</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id0" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a 3x3 matrix for a rotation by a specified <cite>angle</cite> around an <cite>axis</cite>
 going through the origin.</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>axis</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Axis of rotation</li>
-<li><strong>angle</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle (in radians in range [-pi,pi]) of rotation</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>axis</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Axis of rotation</p></li>
+<li><p><strong>angle</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle (in radians in range [-pi,pi]) of rotation</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Rotation matrix</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="https://www.openstructure.org/docs/2.4/geom/mat/#ost.geom.Mat3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Mat3</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Rotation matrix</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/mat/#ost.geom.Mat3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Mat3</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.core.StemCoords">
-<em class="property">class </em><code class="descclassname">promod3.core.</code><code class="descname">StemCoords</code><a class="headerlink" href="#promod3.core.StemCoords" title="Permalink to this definition">¶</a></dt>
-<dt>
-<em class="property">class </em><code class="descclassname">promod3.core.</code><code class="descname">StemCoords</code><span class="sig-paren">(</span><em>res</em><span class="sig-paren">)</span></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.core.StemCoords">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.core.</span></span><span class="sig-name descname"><span class="pre">StemCoords</span></span><a class="headerlink" href="#promod3.core.StemCoords" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.core.</span></span><span class="sig-name descname"><span class="pre">StemCoords</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res</span></span></em><span class="sig-paren">)</span></dt>
 <dd><p>Simple container class to store N, CA and C coordinates.</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>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue handle from which to extract N, CA and C coordinates.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res</em> does not contain N, CA and C
-atoms.</td>
-</tr>
-</tbody>
-</table>
-<dl class="attribute">
-<dt id="promod3.core.StemCoords.n_coord">
-<code class="descname">n_coord</code><a class="headerlink" href="#promod3.core.StemCoords.n_coord" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.core.StemCoords.ca_coord">
-<code class="descname">ca_coord</code><a class="headerlink" href="#promod3.core.StemCoords.ca_coord" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.core.StemCoords.c_coord">
-<code class="descname">c_coord</code><a class="headerlink" href="#promod3.core.StemCoords.c_coord" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>res</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue handle from which to extract N, CA and C coordinates.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res</em> does not contain N, CA and C
+atoms.</p>
+</dd>
+</dl>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.core.StemCoords.n_coord">
+<span class="sig-name descname"><span class="pre">n_coord</span></span><a class="headerlink" href="#promod3.core.StemCoords.n_coord" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.core.StemCoords.ca_coord">
+<span class="sig-name descname"><span class="pre">ca_coord</span></span><a class="headerlink" href="#promod3.core.StemCoords.ca_coord" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.core.StemCoords.c_coord">
+<span class="sig-name descname"><span class="pre">c_coord</span></span><a class="headerlink" href="#promod3.core.StemCoords.c_coord" title="Permalink to this definition">¶</a></dt>
 <dd><p>Position of nitrogen / alpha carbon / carbon atom.</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://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.core.StemPairOrientation">
-<em class="property">class </em><code class="descclassname">promod3.core.</code><code class="descname">StemPairOrientation</code><a class="headerlink" href="#promod3.core.StemPairOrientation" title="Permalink to this definition">¶</a></dt>
-<dt>
-<em class="property">class </em><code class="descclassname">promod3.core.</code><code class="descname">StemPairOrientation</code><span class="sig-paren">(</span><em>n_stem</em>, <em>c_stem</em><span class="sig-paren">)</span></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.core.StemPairOrientation">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.core.</span></span><span class="sig-name descname"><span class="pre">StemPairOrientation</span></span><a class="headerlink" href="#promod3.core.StemPairOrientation" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.core.</span></span><span class="sig-name descname"><span class="pre">StemPairOrientation</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_stem</span></span></em><span class="sig-paren">)</span></dt>
 <dd><p>Relative orientation of a pair of stems. Can be used to define gaps with four
 angles and one distance and is used in the fragment database for fast lookups.</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 internal" href="#promod3.core.StemCoords" title="promod3.core.StemCoords"><code class="xref py py-class docutils literal notranslate"><span class="pre">StemCoords</span></code></a>) – Coordinates of stem A.</li>
-<li><strong>c_stem</strong> (<a class="reference internal" href="#promod3.core.StemCoords" title="promod3.core.StemCoords"><code class="xref py py-class docutils literal notranslate"><span class="pre">StemCoords</span></code></a>) – Coordinates of stem B.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>n_stem</strong> (<a class="reference internal" href="#promod3.core.StemCoords" title="promod3.core.StemCoords"><code class="xref py py-class docutils literal notranslate"><span class="pre">StemCoords</span></code></a>) – Coordinates of stem A.</p></li>
+<li><p><strong>c_stem</strong> (<a class="reference internal" href="#promod3.core.StemCoords" title="promod3.core.StemCoords"><code class="xref py py-class docutils literal notranslate"><span class="pre">StemCoords</span></code></a>) – Coordinates of stem B.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="attribute">
-<dt id="promod3.core.StemPairOrientation.distance">
-<code class="descname">distance</code><a class="headerlink" href="#promod3.core.StemPairOrientation.distance" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.core.StemPairOrientation.distance">
+<span class="sig-name descname"><span class="pre">distance</span></span><a class="headerlink" href="#promod3.core.StemPairOrientation.distance" title="Permalink to this definition">¶</a></dt>
 <dd><p>Distance of C atom of stem A to N atom of stem B.</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.core.StemPairOrientation.angle_one">
-<code class="descname">angle_one</code><a class="headerlink" href="#promod3.core.StemPairOrientation.angle_one" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.core.StemPairOrientation.angle_two">
-<code class="descname">angle_two</code><a class="headerlink" href="#promod3.core.StemPairOrientation.angle_two" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.core.StemPairOrientation.angle_one">
+<span class="sig-name descname"><span class="pre">angle_one</span></span><a class="headerlink" href="#promod3.core.StemPairOrientation.angle_one" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.core.StemPairOrientation.angle_two">
+<span class="sig-name descname"><span class="pre">angle_two</span></span><a class="headerlink" href="#promod3.core.StemPairOrientation.angle_two" title="Permalink to this definition">¶</a></dt>
 <dd><p>Angles defining relative orientation of stem B with respect to stem 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">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.core.StemPairOrientation.angle_three">
-<code class="descname">angle_three</code><a class="headerlink" href="#promod3.core.StemPairOrientation.angle_three" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.core.StemPairOrientation.angle_four">
-<code class="descname">angle_four</code><a class="headerlink" href="#promod3.core.StemPairOrientation.angle_four" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.core.StemPairOrientation.angle_three">
+<span class="sig-name descname"><span class="pre">angle_three</span></span><a class="headerlink" href="#promod3.core.StemPairOrientation.angle_three" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.core.StemPairOrientation.angle_four">
+<span class="sig-name descname"><span class="pre">angle_four</span></span><a class="headerlink" href="#promod3.core.StemPairOrientation.angle_four" title="Permalink to this definition">¶</a></dt>
 <dd><p>Angles defining relative orientation of stem A with respect to stem B.</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -319,12 +281,12 @@ angles and one distance and is used in the fragment database for fast lookups.</
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -341,8 +303,8 @@ angles and one distance and is used in the fragment database for fast lookups.</
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a><ul>
-      <li>Previous: <a href="helper.html" title="previous chapter"><code class="docutils literal notranslate"><span class="pre">helper</span></code> - Shared Functionality For the Everything</a></li>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a><ul>
+      <li>Previous: <a href="helper.html" title="previous chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">helper</span></code> - Shared Functionality For the Everything</a></li>
       <li>Next: <a href="runtime_profiling.html" title="next chapter">Runtime profiling</a></li>
   </ul></li>
   </ul></li>
@@ -350,27 +312,33 @@ angles and one distance and is used in the fragment database for fast lookups.</
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/core/geometry.rst.txt"
diff --git a/doc/html/core/graph_minimizer.html b/doc/html/core/graph_minimizer.html
index 0a28f4c28aedb0d7d79df5bc78a8b315c5fcc168..f7f017ab248776908c0b6e100ff9c5b652ce3afe 100644
--- a/doc/html/core/graph_minimizer.html
+++ b/doc/html/core/graph_minimizer.html
@@ -1,20 +1,21 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Graph Minimizer &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Graph Minimizer &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
+    <script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="SetCompoundsChemlib()" href="setcompoundschemlib.html" />
@@ -22,6 +23,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,10 +32,12 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="graph-minimizer">
-<h1>Graph Minimizer<a class="headerlink" href="#graph-minimizer" title="Permalink to this headline">¶</a></h1>
+  <section id="graph-minimizer">
+<h1>Graph Minimizer<a class="headerlink" href="#graph-minimizer" title="Permalink to this heading">¶</a></h1>
 <p>The graph minimizer solves an energy minimization problem where we have n
 nodes <span class="math notranslate nohighlight">\(N_i\)</span>, with each node having several possible solutions.
 Every solution has a self energy <span class="math notranslate nohighlight">\(E_{self}\)</span> and pairwise energies in between nodes
@@ -41,149 +45,132 @@ are possible. The goal is to select exactly one solution per node to obtain
 a set <span class="math notranslate nohighlight">\(X=[x_1, x_2, ..., x_n]\)</span> that minimizes:</p>
 <div class="math notranslate nohighlight">
 \[F(X)=\displaystyle\sum_iE_{self}(N_i[x_i]) +\displaystyle \sum_i \displaystyle \sum_{j&gt;i}E_{pair}(N_i[x_i], N_j[x_j])\]</div>
-<dl class="class">
-<dt id="promod3.core.GraphMinimizer">
-<em class="property">class </em><code class="descclassname">promod3.core.</code><code class="descname">GraphMinimizer</code><a class="headerlink" href="#promod3.core.GraphMinimizer" title="Permalink to this definition">¶</a></dt>
-<dd><dl class="method">
-<dt id="promod3.core.GraphMinimizer.AddNode">
-<code class="descname">AddNode</code><span class="sig-paren">(</span><em>self_energies</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.GraphMinimizer.AddNode" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.core.GraphMinimizer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.core.</span></span><span class="sig-name descname"><span class="pre">GraphMinimizer</span></span><a class="headerlink" href="#promod3.core.GraphMinimizer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.GraphMinimizer.AddNode">
+<span class="sig-name descname"><span class="pre">AddNode</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">self_energies</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.GraphMinimizer.AddNode" title="Permalink to this definition">¶</a></dt>
 <dd><p>Adds a node to the graph.</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>self_energies</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Directly controls the number of possible solutions in that
-node and assigns the corresponding self energies</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The idx of the added node</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>self_energies</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Directly controls the number of possible solutions in that
+node and assigns the corresponding self energies</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The idx of the added node</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.core.GraphMinimizer.AddEdge">
-<code class="descname">AddEdge</code><span class="sig-paren">(</span><em>node_idx_one</em>, <em>node_idx_two</em>, <em>pairwise_energies</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.GraphMinimizer.AddEdge" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.GraphMinimizer.AddEdge">
+<span class="sig-name descname"><span class="pre">AddEdge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">node_idx_one</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">node_idx_two</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pairwise_energies</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.GraphMinimizer.AddEdge" title="Permalink to this definition">¶</a></dt>
 <dd><p>Adds an edge between the specified nodes.</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>node_idx_one</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of the first node</li>
-<li><strong>node_idx_two</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of the second node</li>
-<li><strong>pairwise_energies</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The pairwise energies that contribute to the
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>node_idx_one</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of the first node</p></li>
+<li><p><strong>node_idx_two</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of the second node</p></li>
+<li><p><strong>pairwise_energies</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The pairwise energies that contribute to the
 overall energy function. There must be a list for
 every possible solution in node one. All of those
 lists must have exactly the length of possible
-solutions in node two.</li>
+solutions in node two.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The idx of the added edge</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>node_idx_one</em> or <em>node_idx_two</em>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The idx of the added edge</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>node_idx_one</em> or <em>node_idx_two</em>
 specify non existent nodes or when <em>pairwise_energies</em> is
 inconsistent with the number of solutions in the specified nodes.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.core.GraphMinimizer.ApplyDEE">
-<code class="descname">ApplyDEE</code><span class="sig-paren">(</span><em>node_idx</em><span class="optional">[</span>, <em>e_cut=0.0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.GraphMinimizer.ApplyDEE" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.GraphMinimizer.ApplyDEE">
+<span class="sig-name descname"><span class="pre">ApplyDEE</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">node_idx</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">e_cut=0.0</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.GraphMinimizer.ApplyDEE" title="Permalink to this definition">¶</a></dt>
 <dd><p>Applies dead end elimination on one particular node and potentially
 deactivates certain solutions. The goldstein criterion is described in
-<a class="reference internal" href="../references.html#goldstein1994" id="id1">[goldstein1994]</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 simple">
-<li><strong>node_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Node to apply dead end elimination</li>
-<li><strong>e_cut</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – If set to
+<a class="reference internal" href="../references.html#goldstein1994" id="id1"><span>[goldstein1994]</span></a>.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>node_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Node to apply dead end elimination</p></li>
+<li><p><strong>e_cut</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – If set to
 0.0, the default goldstein criterion is applied =&gt;
 a solution is removed if it’s dominated by all other
 solutions in the same node. If you increase this value,
-a solution must be dominated by at least this <strong>e_cut</strong>.</li>
+a solution must be dominated by at least this <strong>e_cut</strong>.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a> whether any solution has been deactivated.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a> whether any solution has been deactivated.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.core.GraphMinimizer.ApplyEdgeDecomposition">
-<code class="descname">ApplyEdgeDecomposition</code><span class="sig-paren">(</span><em>edge_idx</em>, <em>epsilon</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.GraphMinimizer.ApplyEdgeDecomposition" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.GraphMinimizer.ApplyEdgeDecomposition">
+<span class="sig-name descname"><span class="pre">ApplyEdgeDecomposition</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">edge_idx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">epsilon</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.GraphMinimizer.ApplyEdgeDecomposition" title="Permalink to this definition">¶</a></dt>
 <dd><p>Applies edge decomposition on one particular edge and potentially
 deactivates it. The exact decomposition  procedure is described in
-<a class="reference internal" href="../references.html#krivov2009" id="id2">[krivov2009]</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 simple">
-<li><strong>edge_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Edge to decompose.</li>
-<li><strong>epsilon</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The energy threshold to perform edge decomposition.</li>
+<a class="reference internal" href="../references.html#krivov2009" id="id2"><span>[krivov2009]</span></a>.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>edge_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Edge to decompose.</p></li>
+<li><p><strong>epsilon</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The energy threshold to perform edge decomposition.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a> whether the edge has been decomposed and
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a> whether the edge has been decomposed and
 deactivated</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.core.GraphMinimizer.Prune">
-<code class="descname">Prune</code><span class="sig-paren">(</span><em>epsilon</em><span class="optional">[</span>, <em>e_cut=0.0</em>, <em>consider_all_nodes=False</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.GraphMinimizer.Prune" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.GraphMinimizer.Prune">
+<span class="sig-name descname"><span class="pre">Prune</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">epsilon</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">e_cut=0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">consider_all_nodes=False</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.GraphMinimizer.Prune" title="Permalink to this definition">¶</a></dt>
 <dd><p>Performs edge decomposition followed by dead end elimination in an
 iterative manner until no changes can be observed anymore given
 <strong>epsilon</strong>.</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>epsilon</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The energy threshold to perform edge decomposition.</li>
-<li><strong>e_cut</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Parameter to control dead end elimination.</li>
-<li><strong>consider_all_nodes</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, wether the dead end elimination should be
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>epsilon</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The energy threshold to perform edge decomposition.</p></li>
+<li><p><strong>e_cut</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Parameter to control dead end elimination.</p></li>
+<li><p><strong>consider_all_nodes</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, wether the dead end elimination should be
 applied to all nodes, or only those who are
 connected with an edge removed by edge
 decomposition. This is useful if already a Prune
 operation has been performed =&gt; only those nodes
 connected to a removed edge have the chance for
-successful dead end elimination.</li>
+successful dead end elimination.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.core.GraphMinimizer.Reset">
-<code class="descname">Reset</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.GraphMinimizer.Reset" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.GraphMinimizer.Reset">
+<span class="sig-name descname"><span class="pre">Reset</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.GraphMinimizer.Reset" title="Permalink to this definition">¶</a></dt>
 <dd><p>Resets the graph by undoing any pruning operation (DEE and edge decomposition)</p>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.core.GraphMinimizer.TreeSolve">
-<code class="descname">TreeSolve</code><span class="sig-paren">(</span><span class="optional">[</span><em>max_complexity=inf</em>, <em>initial_epsilon=0.02</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.GraphMinimizer.TreeSolve" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.GraphMinimizer.TreeSolve">
+<span class="sig-name descname"><span class="pre">TreeSolve</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="n"><span class="pre">max_complexity=inf</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">initial_epsilon=0.02</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.GraphMinimizer.TreeSolve" title="Permalink to this definition">¶</a></dt>
 <dd><p>The method solves a graph using a minimal width tree decomposition
 approach in an iterative manner. In every iteration, the algorithm performs
 a pruning step (DEE / Edge Decomposition) and subsequently tries to solve
@@ -193,33 +180,29 @@ particular connected component is is larger <strong>max_complexity</strong>,
 this component is solved in a later iteration. The algorithm iterates until
 all connected components are solved and steadily increases the epsilon value
 resulting in a more and more agressive edge decomposition.
-Algorithm further descsribed in <a class="reference internal" href="../references.html#krivov2009" id="id3">[krivov2009]</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 simple">
-<li><strong>max_complexity</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Max number of possible permutations, that have to
+Algorithm further descsribed in <a class="reference internal" href="../references.html#krivov2009" id="id3"><span>[krivov2009]</span></a>.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>max_complexity</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Max number of possible permutations, that have to
 be enumerated in the resulting tree after tree
-decomposition.</li>
-<li><strong>initial_epsilon</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The initial energy threshold to perform edge
-decomposition.</li>
+decomposition.</p></li>
+<li><p><strong>initial_epsilon</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The initial energy threshold to perform edge
+decomposition.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A tuple with the first element being a list of indices
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A tuple with the first element being a list of indices
 representing the single solutions minimizing
 the overall energy function.
 The second element is the according energy value.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.core.GraphMinimizer.AStarSolve">
-<code class="descname">AStarSolve</code><span class="sig-paren">(</span><em>e_thresh</em><span class="optional">[</span>, <em>max_n=100</em>, <em>max_visited_nodes=100000000</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.GraphMinimizer.AStarSolve" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.GraphMinimizer.AStarSolve">
+<span class="sig-name descname"><span class="pre">AStarSolve</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">e_thresh</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">max_n=100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_visited_nodes=100000000</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.GraphMinimizer.AStarSolve" title="Permalink to this definition">¶</a></dt>
 <dd><p>The method solves a graph using the A* algorithm. Besides creating the
 minimal energy solution, the function produces a maximum of <strong>max_n</strong>
 solutions sorted by energy. It aborts as soon as it sees the first solution
@@ -232,34 +215,30 @@ runtime or even hit the <strong>max_visited_nodes</strong> parameter that caps t
 usage.
 To have a valid solution you have to take care that you set the <strong>e_cut</strong>
 parameter in the pruning function to <strong>e_tresh</strong>.
-Algorithm is described in <a class="reference internal" href="../references.html#leach1998" id="id4">[leach1998]</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 simple">
-<li><strong>e_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal energy difference of a solution to the
-optimal solution to be considered.</li>
-<li><strong>max_n</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The maximum number of solutions that will be generated.</li>
-<li><strong>max_visited_nodes</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Caps the memory usage of the algorithm. Besides
+Algorithm is described in <a class="reference internal" href="../references.html#leach1998" id="id4"><span>[leach1998]</span></a>.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>e_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal energy difference of a solution to the
+optimal solution to be considered.</p></li>
+<li><p><strong>max_n</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The maximum number of solutions that will be generated.</p></li>
+<li><p><strong>max_visited_nodes</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Caps the memory usage of the algorithm. Besides
 The memory used for pairwise energies and self
 energies, the algorithm uses about
-<strong>max_visited_nodes</strong> * 20 bytes.</li>
+<strong>max_visited_nodes</strong> * 20 bytes.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A tuple with the first element being a list of
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A tuple with the first element being a list of
 solutions. The second element is a list
 of energies for the according solutions.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.core.GraphMinimizer.MCSolve">
-<code class="descname">MCSolve</code><span class="sig-paren">(</span><span class="optional">[</span><em>n=100</em>, <em>mc_steps=100000</em>, <em>start_temperature=1000.0</em>, <em>change_frequency=1000</em>, <em>cooling_factor=0.9</em>, <em>seed=0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.GraphMinimizer.MCSolve" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.GraphMinimizer.MCSolve">
+<span class="sig-name descname"><span class="pre">MCSolve</span></span><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param"><span class="n"><span class="pre">n=100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mc_steps=100000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_temperature=1000.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">\</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="pre">change_frequency=1000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cooling_factor=0.9</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed=0</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.GraphMinimizer.MCSolve" title="Permalink to this definition">¶</a></dt>
 <dd><p>Does a total of <strong>n</strong> Monte Carlo runs to find low energy solutions
 of the graph. Each run starts with a random
 configuration. At each of the <strong>mc_steps</strong> steps, a random node and
@@ -274,57 +253,51 @@ and is multiplied every <strong>change_frequency</strong> steps with <strong>coo
 to achieve a simulated annealing effect.
 There is no automatic pruning of the graph using DEE or edge decomposition,
 you have to do that by yourself.</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</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of Monte Carlo runs</li>
-<li><strong>mc_steps</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of Monte Carlo steps per run</li>
-<li><strong>start_temperature</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Start temperature for the temperature dependent
-Metropolis criterion</li>
-<li><strong>change_frequency</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of steps the temperature stays the same</li>
-<li><strong>cooling_factor</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Factor to multiply temperature each
-<strong>change_frequency</strong> steps</li>
-<li><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Seed for random number generator</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>n</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of Monte Carlo runs</p></li>
+<li><p><strong>mc_steps</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of Monte Carlo steps per run</p></li>
+<li><p><strong>start_temperature</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Start temperature for the temperature dependent
+Metropolis criterion</p></li>
+<li><p><strong>change_frequency</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of steps the temperature stays the same</p></li>
+<li><p><strong>cooling_factor</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Factor to multiply temperature each
+<strong>change_frequency</strong> steps</p></li>
+<li><p><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Seed for random number generator</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A tuple with the first element being a list of
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A tuple with the first element being a list of
 solutions. The second element is a list
 of energies for the according solutions.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.core.GraphMinimizer.NaiveSolve">
-<code class="descname">NaiveSolve</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.GraphMinimizer.NaiveSolve" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.GraphMinimizer.NaiveSolve">
+<span class="sig-name descname"><span class="pre">NaiveSolve</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.GraphMinimizer.NaiveSolve" title="Permalink to this definition">¶</a></dt>
 <dd><p>Don’t even think of using this… This function only exists for debug
 purposes and does the full enumeration of the solution space.
 It might become faster with the appropriate
 <a class="reference external" href="https://www.youtube.com/watch?v=fQGbXmkSArs">techniques</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">Returns:</th><td class="field-body">A tuple with the first element being a list of indices
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>A tuple with the first element being a list of indices
 representing the single solutions minimizing
 the overall energy function.
-The second element is the according energy value.</td>
-</tr>
-</tbody>
-</table>
+The second element is the according energy value.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -345,12 +318,12 @@ The second element is the according energy value.</td>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -367,36 +340,42 @@ The second element is the according energy value.</td>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a><ul>
       <li>Previous: <a href="runtime_profiling.html" title="previous chapter">Runtime profiling</a></li>
-      <li>Next: <a href="setcompoundschemlib.html" title="next chapter"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+      <li>Next: <a href="setcompoundschemlib.html" title="next chapter"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
   </ul></li>
   </ul></li>
   </ul></li>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/core/graph_minimizer.rst.txt"
diff --git a/doc/html/core/helper.html b/doc/html/core/helper.html
index 3a603ac3d8a353319259d261e1cfe327438cb97d..96305fdb2a5c1e6a6cff9344069c20eb7263aa8a 100644
--- a/doc/html/core/helper.html
+++ b/doc/html/core/helper.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>helper - Shared Functionality For the Everything &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>helper - Shared Functionality For the Everything &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Geometry functions" href="geometry.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,53 +31,51 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <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 notranslate"><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>
+  <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 notranslate"><span class="pre">helper</span></code></a> - Shared Functionality For the Everything<a class="headerlink" href="#module-promod3.core.helper" title="Permalink to this heading">¶</a></h1>
+<section id="introduction">
+<h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this heading">¶</a></h2>
 <p>We collect functions here, which should be useful in many places but would make
 rather empty modules left alone.</p>
-</div>
-<div class="section" id="messages">
-<h2>Messages<a class="headerlink" href="#messages" title="Permalink to this headline">¶</a></h2>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">promod3.core</span> <span class="k">import</span> <span class="n">helper</span>
+</section>
+<section id="messages">
+<h2>Messages<a class="headerlink" href="#messages" title="Permalink to this heading">¶</a></h2>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">promod3.core</span> <span class="kn">import</span> <span class="n">helper</span>
 
 <span class="n">helper</span><span class="o">.</span><span class="n">MsgErrorAndExit</span><span class="p">(</span><span class="s2">&quot;Something failed!&quot;</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
 </pre></div>
 </div>
-<dl class="function">
-<dt id="promod3.core.helper.MsgErrorAndExit">
-<code class="descclassname">promod3.core.helper.</code><code class="descname">MsgErrorAndExit</code><span class="sig-paren">(</span><em>msg</em>, <em>exit_status</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.helper.MsgErrorAndExit" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.core.helper.MsgErrorAndExit">
+<span class="sig-prename descclassname"><span class="pre">promod3.core.helper.</span></span><span class="sig-name descname"><span class="pre">MsgErrorAndExit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">msg</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">exit_status</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.helper.MsgErrorAndExit" title="Permalink to this definition">¶</a></dt>
 <dd><p>Send a messages to the OST <a class="reference external" href="https://www.openstructure.org/docs/base/logging/">error log</a> and
 exit the Python interpreter.</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>msg</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – The message.</li>
-<li><strong>exit_status</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Exit code, ends up in <code class="docutils literal notranslate"><span class="pre">$?</span></code> in the shell. <code class="docutils literal notranslate"><span class="pre">0</span></code> is
-traditionally reserved to successful commands.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>msg</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – The message.</p></li>
+<li><p><strong>exit_status</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Exit code, ends up in <code class="docutils literal notranslate"><span class="pre">$?</span></code> in the shell. <code class="docutils literal notranslate"><span class="pre">0</span></code> is
+traditionally reserved to successful commands.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">No return value, exits script with value <code class="docutils literal notranslate"><span class="pre">exit_status</span></code>.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>No return value, exits script with value <code class="docutils literal notranslate"><span class="pre">exit_status</span></code>.</p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="file-tests">
-<h2>File Tests<a class="headerlink" href="#file-tests" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="file-tests">
+<h2>File Tests<a class="headerlink" href="#file-tests" title="Permalink to this heading">¶</a></h2>
 <p>The following example parses an argument (call as <code class="docutils literal notranslate"><span class="pre">pm</span> <span class="pre">SCRIPTNAME</span> <span class="pre">FILENAME</span></code>) as
 a file name and checks whether it is a <code class="docutils literal notranslate"><span class="pre">pdb</span></code> or <code class="docutils literal notranslate"><span class="pre">mmcif</span></code> file.</p>
 <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="sd">&quot;&quot;&quot;Test for file reading.&quot;&quot;&quot;</span>
-<span class="kn">from</span> <span class="nn">promod3.core</span> <span class="k">import</span> <span class="n">helper</span>
-<span class="kn">from</span> <span class="nn">promod3.core</span> <span class="k">import</span> <span class="n">pm3argparse</span>
+<span class="kn">from</span> <span class="nn">promod3.core</span> <span class="kn">import</span> <span class="n">helper</span>
+<span class="kn">from</span> <span class="nn">promod3.core</span> <span class="kn">import</span> <span class="n">pm3argparse</span>
 
 <span class="n">p</span> <span class="o">=</span> <span class="n">pm3argparse</span><span class="o">.</span><span class="n">PM3ArgumentParser</span><span class="p">(</span><span class="vm">__doc__</span><span class="p">)</span>
 <span class="n">p</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s1">&#39;file&#39;</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="nb">str</span><span class="p">)</span>
@@ -90,35 +89,31 @@ a file name and checks whether it is a <code class="docutils literal notranslate
                                                     <span class="n">gzip</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
 </pre></div>
 </div>
-<dl class="function">
-<dt id="promod3.core.helper.FileExists">
-<code class="descclassname">promod3.core.helper.</code><code class="descname">FileExists</code><span class="sig-paren">(</span><em>prefix</em>, <em>exit_status</em>, <em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.helper.FileExists" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.core.helper.FileExists">
+<span class="sig-prename descclassname"><span class="pre">promod3.core.helper.</span></span><span class="sig-name descname"><span class="pre">FileExists</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">exit_status</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.helper.FileExists" title="Permalink to this definition">¶</a></dt>
 <dd><p>Checks if a file exists, terminates if not. The error message displayed is
 fixed and only needs a <em>prefix</em> describing the specimen of file.</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>prefix</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – String to put in front of the failure-message
-“file does not exist: <code class="docutils literal notranslate"><span class="pre">file</span></code>”.</li>
-<li><strong>exit_status</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Exit code on missing file, ends up in <code class="docutils literal notranslate"><span class="pre">$?</span></code> in the
-shell. <code class="docutils literal notranslate"><span class="pre">0</span></code> is traditionally reserved to successful commands.</li>
-<li><strong>file</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path including file name to be checked.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>prefix</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – String to put in front of the failure-message
+“file does not exist: <code class="docutils literal notranslate"><span class="pre">file</span></code>”.</p></li>
+<li><p><strong>exit_status</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Exit code on missing file, ends up in <code class="docutils literal notranslate"><span class="pre">$?</span></code> in the
+shell. <code class="docutils literal notranslate"><span class="pre">0</span></code> is traditionally reserved to successful commands.</p></li>
+<li><p><strong>file</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path including file name to be checked.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">No return value, exits script with value <code class="docutils literal notranslate"><span class="pre">exit_status</span></code> if file
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>No return value, exits script with value <code class="docutils literal notranslate"><span class="pre">exit_status</span></code> if file
 is missing.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.core.helper.FileExtension">
-<code class="descclassname">promod3.core.helper.</code><code class="descname">FileExtension</code><span class="sig-paren">(</span><em>prefix</em>, <em>exit_status</em>, <em>filename</em>, <em>extensions</em>, <em>gzip=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.helper.FileExtension" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.core.helper.FileExtension">
+<span class="sig-prename descclassname"><span class="pre">promod3.core.helper.</span></span><span class="sig-name descname"><span class="pre">FileExtension</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">exit_status</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">filename</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">extensions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gzip</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.helper.FileExtension" title="Permalink to this definition">¶</a></dt>
 <dd><p>Checks a file to carry a known extension given by a list of strings. Since
 files are very often compressed these days, an additional “gz” suffix can be
 tracked automatically by this function. Thus, the list of <em>extensions</em> only
@@ -129,66 +124,59 @@ extension, its extension and a Boolean to tell whether the file carries the
 gzip extension or not. If <em>gzip</em> detection is turned of, only a tuple is
 returned: file name  and extension. If the tested file name has an
 unrecognised extension, this function terminates the script.</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>prefix</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – String to put in front of the failure-message
-“file extension not supported: <code class="docutils literal notranslate"><span class="pre">filename</span></code>”.</li>
-<li><strong>exit_status</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Exit code on missing file, ends up in <code class="docutils literal notranslate"><span class="pre">$?</span></code> in the
-shell. <code class="docutils literal notranslate"><span class="pre">0</span></code> is traditionally reserved to successful commands.</li>
-<li><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path including file name to be checked.</li>
-<li><strong>extensions</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – List of strings without a leading “.”.</li>
-<li><strong>gzip</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Indicates whether to check for an additional “gz” extension.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>prefix</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – String to put in front of the failure-message
+“file extension not supported: <code class="docutils literal notranslate"><span class="pre">filename</span></code>”.</p></li>
+<li><p><strong>exit_status</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Exit code on missing file, ends up in <code class="docutils literal notranslate"><span class="pre">$?</span></code> in the
+shell. <code class="docutils literal notranslate"><span class="pre">0</span></code> is traditionally reserved to successful commands.</p></li>
+<li><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path including file name to be checked.</p></li>
+<li><p><strong>extensions</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – List of strings without a leading “.”.</p></li>
+<li><p><strong>gzip</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Indicates whether to check for an additional “gz” extension.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">(base name of <code class="docutils literal notranslate"><span class="pre">filename</span></code> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>), extension of file
-without a “.gz” (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>), flag to indicate an additional
-“.gz” (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>)) <strong>if</strong> <code class="docutils literal notranslate"><span class="pre">gzip</span></code> is set, (base name of
-<code class="docutils literal notranslate"><span class="pre">filename</span></code> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>), extension of file) <strong>if not</strong>.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>(base name of <code class="docutils literal notranslate"><span class="pre">filename</span></code> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>), extension of file
+without a “.gz” (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>), flag to indicate an additional
+“.gz” (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>)) <strong>if</strong> <code class="docutils literal notranslate"><span class="pre">gzip</span></code> is set, (base name of
+<code class="docutils literal notranslate"><span class="pre">filename</span></code> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>), extension of file) <strong>if not</strong>.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.core.helper.FileGzip">
-<code class="descclassname">promod3.core.helper.</code><code class="descname">FileGzip</code><span class="sig-paren">(</span><em>prefix</em>, <em>exit_status</em>, <em>filename</em>, <em>allowed=True</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.helper.FileGzip" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.core.helper.FileGzip">
+<span class="sig-prename descclassname"><span class="pre">promod3.core.helper.</span></span><span class="sig-name descname"><span class="pre">FileGzip</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">exit_status</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">filename</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.helper.FileGzip" title="Permalink to this definition">¶</a></dt>
 <dd><p>See if a file is gzipped or not. This is basically done by checking for a
 “gz” suffix. May also be used to verify that a file is not compressed where
 it does not apply. That is where <em>allowed</em> comes in. If “gz” is not allowed,
 terminates the script on gzip files.</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>prefix</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – String to put in front of the failure-message where gzip
-files are not allowed.</li>
-<li><strong>exit_status</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Exit code on gzip files to be avoided, ends up in
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>prefix</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – String to put in front of the failure-message where gzip
+files are not allowed.</p></li>
+<li><p><strong>exit_status</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Exit code on gzip files to be avoided, ends up in
 <code class="docutils literal notranslate"><span class="pre">$?</span></code> in the shell. <code class="docutils literal notranslate"><span class="pre">0</span></code> is traditionally reserved to
-successful commands.</li>
-<li><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path including file name to be checked.</li>
-<li><strong>allowed</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Set to <code class="docutils literal notranslate"><span class="pre">False</span></code> if gzipped files are not allowed. Then the
-script will terminate if a gzip file is found.</li>
+successful commands.</p></li>
+<li><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path including file name to be checked.</p></li>
+<li><p><strong>allowed</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Set to <code class="docutils literal notranslate"><span class="pre">False</span></code> if gzipped files are not allowed. Then the
+script will terminate if a gzip file is found.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">Flag to indicate if file is gzipped (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>).</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Flag to indicate if file is gzipped (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>).</p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -209,12 +197,12 @@ script will terminate if a gzip file is found.</li>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -231,8 +219,8 @@ script will terminate if a gzip file is found.</li>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a><ul>
-      <li>Previous: <a href="pm3argparse.html" title="previous chapter"><code class="docutils literal notranslate"><span class="pre">pm3argparse</span></code> - Parsing Command Lines</a></li>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a><ul>
+      <li>Previous: <a href="pm3argparse.html" title="previous chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pm3argparse</span></code> - Parsing Command Lines</a></li>
       <li>Next: <a href="geometry.html" title="next chapter">Geometry functions</a></li>
   </ul></li>
   </ul></li>
@@ -240,27 +228,33 @@ script will terminate if a gzip file is found.</li>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/core/helper.rst.txt"
diff --git a/doc/html/core/index.html b/doc/html/core/index.html
index 237aa85f2e4a108fab43cf4a5fac8e3ca256ecab..3b627a68a8a003303b7cbe53f9efb8ba3d88c534 100644
--- a/doc/html/core/index.html
+++ b/doc/html/core/index.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>core - ProMod3 Core Functionality &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>core - ProMod3 Core Functionality &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="pm3argparse - Parsing Command Lines" href="pm3argparse.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,35 +31,54 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="module-promod3.core">
-<span id="core-project-core-functionality"></span><h1><a class="reference internal" href="#module-promod3.core" title="promod3.core: Basic functionality, supporting standard tasks in your code."><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code></a> - ProMod3 Core Functionality<a class="headerlink" href="#module-promod3.core" title="Permalink to this headline">¶</a></h1>
+  <section id="module-promod3.core">
+<span id="core-project-core-functionality"></span><h1><a class="reference internal" href="#module-promod3.core" title="promod3.core: Basic functionality, supporting standard tasks in your code."><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code></a> - ProMod3 Core Functionality<a class="headerlink" href="#module-promod3.core" title="Permalink to this heading">¶</a></h1>
 <p>This module gathers functions and classes which are not devoted to homology
 modeling per se but cover standard programming issues.</p>
 <p>Contents:</p>
 <div class="toctree-wrapper compound">
 <ul>
-<li class="toctree-l1"><a class="reference internal" href="pm3argparse.html"><code class="docutils literal notranslate"><span class="pre">pm3argparse</span></code> - Parsing Command Lines</a><ul>
+<li class="toctree-l1"><a class="reference internal" href="pm3argparse.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pm3argparse</span></code> - Parsing Command Lines</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="pm3argparse.html#introduction">Introduction</a></li>
 <li class="toctree-l2"><a class="reference internal" href="pm3argparse.html#argument-parser">Argument Parser</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="helper.html"><code class="docutils literal notranslate"><span class="pre">helper</span></code> - Shared Functionality For the Everything</a><ul>
+<li class="toctree-l1"><a class="reference internal" href="helper.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">helper</span></code> - Shared Functionality For the Everything</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="helper.html#introduction">Introduction</a></li>
 <li class="toctree-l2"><a class="reference internal" href="helper.html#messages">Messages</a></li>
 <li class="toctree-l2"><a class="reference internal" href="helper.html#file-tests">File Tests</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="geometry.html">Geometry functions</a></li>
-<li class="toctree-l1"><a class="reference internal" href="runtime_profiling.html">Runtime profiling</a></li>
-<li class="toctree-l1"><a class="reference internal" href="graph_minimizer.html">Graph Minimizer</a></li>
+<li class="toctree-l1"><a class="reference internal" href="geometry.html">Geometry functions</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="geometry.html#promod3.core.EvaluateGromacsPosRule"><code class="docutils literal notranslate"><span class="pre">EvaluateGromacsPosRule()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="geometry.html#promod3.core.ConstructCTerminalOxygens"><code class="docutils literal notranslate"><span class="pre">ConstructCTerminalOxygens()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="geometry.html#promod3.core.ConstructAtomPos"><code class="docutils literal notranslate"><span class="pre">ConstructAtomPos()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="geometry.html#promod3.core.ConstructCBetaPos"><code class="docutils literal notranslate"><span class="pre">ConstructCBetaPos()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="geometry.html#promod3.core.RotationAroundLine"><code class="docutils literal notranslate"><span class="pre">RotationAroundLine()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="geometry.html#id0"><code class="docutils literal notranslate"><span class="pre">RotationAroundLine()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="geometry.html#promod3.core.StemCoords"><code class="docutils literal notranslate"><span class="pre">StemCoords</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="geometry.html#promod3.core.StemPairOrientation"><code class="docutils literal notranslate"><span class="pre">StemPairOrientation</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="runtime_profiling.html">Runtime profiling</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="runtime_profiling.html#promod3.core.StaticRuntimeProfiler"><code class="docutils literal notranslate"><span class="pre">StaticRuntimeProfiler</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="graph_minimizer.html">Graph Minimizer</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="graph_minimizer.html#promod3.core.GraphMinimizer"><code class="docutils literal notranslate"><span class="pre">GraphMinimizer</span></code></a></li>
+</ul>
+</li>
 </ul>
 </div>
-</div>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -79,12 +99,12 @@ modeling per se but cover standard programming issues.</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -102,33 +122,39 @@ modeling per se but cover standard programming issues.</p>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
       <li>Previous: <a href="../loop/load_loop_objects.html" title="previous chapter">Loading Precomputed Objects</a></li>
-      <li>Next: <a href="pm3argparse.html" title="next chapter"><code class="docutils literal notranslate"><span class="pre">pm3argparse</span></code> - Parsing Command Lines</a></li>
+      <li>Next: <a href="pm3argparse.html" title="next chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pm3argparse</span></code> - Parsing Command Lines</a></li>
   </ul></li>
   </ul></li>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/core/index.rst.txt"
diff --git a/doc/html/core/pm3argparse.html b/doc/html/core/pm3argparse.html
index 1f7549b4cafa8492cbf1dd213059ef47e7b72cf4..2545a9b7e1574fe6d38cc8ba81c2356c91ca4bbf 100644
--- a/doc/html/core/pm3argparse.html
+++ b/doc/html/core/pm3argparse.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>pm3argparse - Parsing Command Lines &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>pm3argparse - Parsing Command Lines &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="helper - Shared Functionality For the Everything" href="helper.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,12 +31,14 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <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: Argument Parsing"><code class="xref py py-mod docutils literal notranslate"><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>
+  <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: Argument Parsing"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pm3argparse</span></code></a> - Parsing Command Lines<a class="headerlink" href="#module-promod3.core.pm3argparse" title="Permalink to this heading">¶</a></h1>
+<section id="introduction">
+<h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this heading">¶</a></h2>
 <p>A lot of the actions in ProMod3 have a bunch of command line parameters/
 arguments in common. For example we need an input alignment quite often and
 usually for an alignment we need information on what is the target sequence,
@@ -50,7 +53,7 @@ input.</p>
 <span class="sd">it via &#39;__doc__&#39; as description to the parser (&#39;-h&#39;, &#39;--help&#39;).</span>
 <span class="sd">&quot;&quot;&quot;</span>
 
-<span class="kn">from</span> <span class="nn">promod3.core</span> <span class="k">import</span> <span class="n">pm3argparse</span>
+<span class="kn">from</span> <span class="nn">promod3.core</span> <span class="kn">import</span> <span class="n">pm3argparse</span>
 
 <span class="c1"># make sure we see output when passing &#39;-h&#39;</span>
 <span class="kn">import</span> <span class="nn">ost</span>
@@ -66,132 +69,122 @@ input.</p>
 script exits with a code 2. If it is run with an additional argument <code class="docutils literal notranslate"><span class="pre">-h</span></code> or
 <code class="docutils literal notranslate"><span class="pre">--help</span></code>, it exits with a code 0 and displays the help message given as a
 docstring in your script.</p>
-</div>
-<div class="section" id="argument-parser">
-<h2>Argument Parser<a class="headerlink" href="#argument-parser" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.core.pm3argparse.PM3ArgumentParser">
-<em class="property">class </em><code class="descclassname">promod3.core.pm3argparse.</code><code class="descname">PM3ArgumentParser</code><span class="sig-paren">(</span><em>description</em>, <em>action=True</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.pm3argparse.PM3ArgumentParser" title="Permalink to this definition">¶</a></dt>
-<dd><p>This class is a child of <a class="reference external" href="https://docs.python.org/3.7/library/argparse.html#argparse.ArgumentParser" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">argparse.ArgumentParser</span></code></a>. It provides a set
+</section>
+<section id="argument-parser">
+<h2>Argument Parser<a class="headerlink" href="#argument-parser" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.core.pm3argparse.PM3ArgumentParser">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.core.pm3argparse.</span></span><span class="sig-name descname"><span class="pre">PM3ArgumentParser</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">description</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">action</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.pm3argparse.PM3ArgumentParser" title="Permalink to this definition">¶</a></dt>
+<dd><p>This class is a child of <a class="reference external" href="https://docs.python.org/3.11/library/argparse.html#argparse.ArgumentParser" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">argparse.ArgumentParser</span></code></a>. It provides a set
 of standard arguments which can be activated with <code class="xref py py-meth docutils literal notranslate"><span class="pre">Add*()</span></code> methods and
 then assembled with <a class="reference internal" href="#promod3.core.pm3argparse.PM3ArgumentParser.AssembleParser" title="promod3.core.pm3argparse.PM3ArgumentParser.AssembleParser"><code class="xref py py-meth docutils literal notranslate"><span class="pre">AssembleParser()</span></code></a>. This helps keeping up a common
 naming scheme throughout all ProMod3 actions. As a real extension, this
 subclass provides checking of input parameters on <a class="reference internal" href="#promod3.core.pm3argparse.PM3ArgumentParser.Parse" title="promod3.core.pm3argparse.PM3ArgumentParser.Parse"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Parse()</span></code></a>. Besides
-this, everything you can do with a ‘real’ <a class="reference external" href="https://docs.python.org/3.7/library/argparse.html#argparse.ArgumentParser" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ArgumentParser</span></code></a>
+this, everything you can do with a ‘real’ <a class="reference external" href="https://docs.python.org/3.11/library/argparse.html#argparse.ArgumentParser" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ArgumentParser</span></code></a>
 instance is possible here.</p>
-<p>Attributes beyond <a class="reference external" href="https://docs.python.org/3.7/library/argparse.html#argparse.ArgumentParser" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">argparse.ArgumentParser</span></code></a>:</p>
-<dl class="attribute">
-<dt id="promod3.core.pm3argparse.PM3ArgumentParser.action">
-<code class="descname">action</code><a class="headerlink" href="#promod3.core.pm3argparse.PM3ArgumentParser.action" title="Permalink to this definition">¶</a></dt>
+<p>Attributes beyond <a class="reference external" href="https://docs.python.org/3.11/library/argparse.html#argparse.ArgumentParser" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">argparse.ArgumentParser</span></code></a>:</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.core.pm3argparse.PM3ArgumentParser.action">
+<span class="sig-name descname"><span class="pre">action</span></span><a class="headerlink" href="#promod3.core.pm3argparse.PM3ArgumentParser.action" title="Permalink to this definition">¶</a></dt>
 <dd><p>Indicates if the calling script is a ProMod3 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">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.core.pm3argparse.PM3ArgumentParser.__init__">
-<code class="descname">__init__</code><span class="sig-paren">(</span><em>description</em>, <em>action=True</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.pm3argparse.PM3ArgumentParser.__init__" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.pm3argparse.PM3ArgumentParser.__init__">
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">description</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">action</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.pm3argparse.PM3ArgumentParser.__init__" title="Permalink to this definition">¶</a></dt>
 <dd><p>Create a new instance of <code class="xref py py-class docutils literal notranslate"><span class="pre">PM3ArgumentParser</span></code>.</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>description</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Help text for this script, handed down to
-<a class="reference external" href="https://docs.python.org/3.7/library/argparse.html#description"><code class="xref py py-attr docutils literal notranslate"><span class="pre">description</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/argparse.html#argparse.ArgumentParser"><code class="xref py py-meth docutils literal notranslate"><span class="pre">argparse.ArgumentParser.__init__()</span></code></a>.</li>
-<li><strong>action</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Indicates if the calling script is a ProMod3 action.
-This influences <a class="reference external" href="https://docs.python.org/3.7/library/argparse.html#prog"><code class="xref py py-attr docutils literal notranslate"><span class="pre">prog</span></code></a> of
-<a class="reference external" href="https://docs.python.org/3.7/library/argparse.html#argparse.ArgumentParser" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ArgumentParser</span></code></a> by clipping of the
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>description</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Help text for this script, handed down to
+<a class="reference external" href="https://docs.python.org/3.11/library/argparse.html#description"><code class="xref py py-attr docutils literal notranslate"><span class="pre">description</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/argparse.html#argparse.ArgumentParser"><code class="xref py py-meth docutils literal notranslate"><span class="pre">argparse.ArgumentParser.__init__()</span></code></a>.</p></li>
+<li><p><strong>action</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Indicates if the calling script is a ProMod3 action.
+This influences <a class="reference external" href="https://docs.python.org/3.11/library/argparse.html#prog"><code class="xref py py-attr docutils literal notranslate"><span class="pre">prog</span></code></a> of
+<a class="reference external" href="https://docs.python.org/3.11/library/argparse.html#argparse.ArgumentParser" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ArgumentParser</span></code></a> by clipping of the
 first 3 characters of the file name of the script. If
 <code class="docutils literal notranslate"><span class="pre">False</span></code>, default behaviour of
-<a class="reference external" href="https://docs.python.org/3.7/library/argparse.html#argparse.ArgumentParser" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ArgumentParser</span></code></a> kicks in.</li>
+<a class="reference external" href="https://docs.python.org/3.11/library/argparse.html#argparse.ArgumentParser" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ArgumentParser</span></code></a> kicks in.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/3.7/library/argparse.html#argparse.ArgumentParser" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">argparse.ArgumentParser</span></code></a>.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/argparse.html#argparse.ArgumentParser" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">argparse.ArgumentParser</span></code></a>.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.core.pm3argparse.PM3ArgumentParser.AddAlignment">
-<code class="descname">AddAlignment</code><span class="sig-paren">(</span><em>allow_multitemplate=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.pm3argparse.PM3ArgumentParser.AddAlignment" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.pm3argparse.PM3ArgumentParser.AddAlignment">
+<span class="sig-name descname"><span class="pre">AddAlignment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">allow_multitemplate</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.pm3argparse.PM3ArgumentParser.AddAlignment" title="Permalink to this definition">¶</a></dt>
 <dd><p>Commandline options for alignments.</p>
 <p>Activate everything needed to load alignments to the argument parser.
 Command line arguments are then added in <a class="reference internal" href="#promod3.core.pm3argparse.PM3ArgumentParser.AssembleParser" title="promod3.core.pm3argparse.PM3ArgumentParser.AssembleParser"><code class="xref py py-meth docutils literal notranslate"><span class="pre">AssembleParser()</span></code></a> and the
 input is post processed and checked in <a class="reference internal" href="#promod3.core.pm3argparse.PM3ArgumentParser.Parse" title="promod3.core.pm3argparse.PM3ArgumentParser.Parse"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Parse()</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>allow_multitemplate</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – enable support for multitemplate alignments</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>allow_multitemplate</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – enable support for multitemplate alignments</p>
+</dd>
+</dl>
 <p>Options/arguments added:</p>
 <ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">-f/--fasta</span> <span class="pre">&lt;FILE&gt;</span></code> - Target-template alignment in FASTA format.
+<li><p><code class="docutils literal notranslate"><span class="pre">-f/--fasta</span> <span class="pre">&lt;FILE&gt;</span></code> - Target-template alignment in FASTA format.
 Target sequence is either named “trg” or “target” or the first
-sequence is used. File can be plain or gzipped.</li>
-<li><code class="docutils literal notranslate"><span class="pre">-c/--clustal</span> <span class="pre">&lt;FILE&gt;</span></code> - Target-template alignment in CLUSTAL format.
+sequence is used. File can be plain or gzipped.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">-c/--clustal</span> <span class="pre">&lt;FILE&gt;</span></code> - Target-template alignment in CLUSTAL format.
 Target sequence is either named “trg” or “target” or the first
-sequence is used. File can be plain or gzipped.</li>
-<li><code class="docutils literal notranslate"><span class="pre">-j/--json</span> <span class="pre">&lt;OBJECT&gt;|&lt;FILE&gt;</span></code> - Alignments provided as JSON
-file/object. File can be plain or gzipped.</li>
+sequence is used. File can be plain or gzipped.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">-j/--json</span> <span class="pre">&lt;OBJECT&gt;|&lt;FILE&gt;</span></code> - Alignments provided as JSON
+file/object. File can be plain or gzipped.</p></li>
 </ul>
 <p>See <a class="reference internal" href="../actions/index.html#promod-build-model"><span class="std std-ref">here</span></a> for details on the file formats.</p>
 <p>Attributes added to the namespace returned by <a class="reference internal" href="#promod3.core.pm3argparse.PM3ArgumentParser.Parse" title="promod3.core.pm3argparse.PM3ArgumentParser.Parse"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Parse()</span></code></a>:</p>
 <ul class="simple">
-<li><code class="xref py py-attr docutils literal notranslate"><span class="pre">fasta</span></code> - filled with the input of the <code class="docutils literal notranslate"><span class="pre">--fasta</span></code> option, a
-<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> (filenames).</li>
-<li><code class="xref py py-attr docutils literal notranslate"><span class="pre">clustal</span></code> - filled with the input of the <code class="docutils literal notranslate"><span class="pre">--clustal</span></code> option, a
-<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> (filenames).</li>
-<li><code class="xref py py-attr docutils literal notranslate"><span class="pre">json</span></code> - filled with the input of the <code class="docutils literal notranslate"><span class="pre">--json</span></code> option, a
-<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>, where each string may be a filename
-or a JSON object string.</li>
-<li><code class="xref py py-attr docutils literal notranslate"><span class="pre">alignments</span></code> - <code class="xref py py-class docutils literal notranslate"><span class="pre">ost.AlignmentList</span></code>, same order as given.
+<li><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">fasta</span></code> - filled with the input of the <code class="docutils literal notranslate"><span class="pre">--fasta</span></code> option, a
+<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> (filenames).</p></li>
+<li><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">clustal</span></code> - filled with the input of the <code class="docutils literal notranslate"><span class="pre">--clustal</span></code> option, a
+<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> (filenames).</p></li>
+<li><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">json</span></code> - filled with the input of the <code class="docutils literal notranslate"><span class="pre">--json</span></code> option, a
+<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>, where each string may be a filename
+or a JSON object string.</p></li>
+<li><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">alignments</span></code> - <code class="xref py py-class docutils literal notranslate"><span class="pre">ost.AlignmentList</span></code>, same order as given.
 First sequence of the alignment is the target sequence, if in doubt,
-check for sequence roles <code class="docutils literal notranslate"><span class="pre">TARGET</span></code> or <code class="docutils literal notranslate"><span class="pre">TEMPLATE</span></code></li>
-<li><code class="xref py py-attr docutils literal notranslate"><span class="pre">aln_sources</span></code> - <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> with the original
-source(s) of the alignment: may be filename(s) or JSON strings.</li>
+check for sequence roles <code class="docutils literal notranslate"><span class="pre">TARGET</span></code> or <code class="docutils literal notranslate"><span class="pre">TEMPLATE</span></code></p></li>
+<li><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">aln_sources</span></code> - <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> with the original
+source(s) of the alignment: may be filename(s) or JSON strings.</p></li>
 </ul>
 <p>Exit codes related to alignment input:</p>
 <ul class="simple">
-<li>12 - a given alignment file does not exist</li>
-<li>13 - never raised (parameter for checking gzip files)</li>
-<li>14 - gzip file cannot be opened</li>
-<li>15 - found an empty alignment file</li>
-<li>16 - unsupported number of sequences in alignment: only 1 sequence or
-(unless <em>allow_multitemplate</em> = True) more than 2 sequences</li>
-<li>17 - mutliple target sequences found in alignment</li>
-<li>18 - error when reading fasta/clustal file</li>
-<li>19 - problem with a JSON formatted file handed over to <code class="docutils literal notranslate"><span class="pre">--json</span></code></li>
-<li>20 - JSON file could not be decoded into a JSON object</li>
-<li>21 - JSON object has no ‘alignmentlist’ key</li>
-<li>22 - JSON object has no ‘target’/’template’ in the ‘alignmentlist’</li>
-<li>23 - JSON string could not be decoded</li>
-<li>24 - JSON object ‘alignmentlist’ does not point to a list</li>
-<li>25 - JSON object ‘alignmentlist’ member is not a dictionary</li>
-<li>26 - JSON object ‘alignmentlist’ ‘target’/’template’ does not point
-to a dictionary</li>
-<li>27 - JSON  object ‘alignmentlist’ ‘target’/’template’ does not have
-a needed key</li>
-<li>28 - JSON  object ‘alignmentlist’ ‘target’/’template’ has a value of
-wrong type</li>
+<li><p>12 - a given alignment file does not exist</p></li>
+<li><p>13 - never raised (parameter for checking gzip files)</p></li>
+<li><p>14 - gzip file cannot be opened</p></li>
+<li><p>15 - found an empty alignment file</p></li>
+<li><p>16 - unsupported number of sequences in alignment: only 1 sequence or
+(unless <em>allow_multitemplate</em> = True) more than 2 sequences</p></li>
+<li><p>17 - mutliple target sequences found in alignment</p></li>
+<li><p>18 - error when reading fasta/clustal file</p></li>
+<li><p>19 - problem with a JSON formatted file handed over to <code class="docutils literal notranslate"><span class="pre">--json</span></code></p></li>
+<li><p>20 - JSON file could not be decoded into a JSON object</p></li>
+<li><p>21 - JSON object has no ‘alignmentlist’ key</p></li>
+<li><p>22 - JSON object has no ‘target’/’template’ in the ‘alignmentlist’</p></li>
+<li><p>23 - JSON string could not be decoded</p></li>
+<li><p>24 - JSON object ‘alignmentlist’ does not point to a list</p></li>
+<li><p>25 - JSON object ‘alignmentlist’ member is not a dictionary</p></li>
+<li><p>26 - JSON object ‘alignmentlist’ ‘target’/’template’ does not point
+to a dictionary</p></li>
+<li><p>27 - JSON  object ‘alignmentlist’ ‘target’/’template’ does not have
+a needed key</p></li>
+<li><p>28 - JSON  object ‘alignmentlist’ ‘target’/’template’ has a value of
+wrong type</p></li>
 </ul>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.core.pm3argparse.PM3ArgumentParser.AddFragments">
-<code class="descname">AddFragments</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.pm3argparse.PM3ArgumentParser.AddFragments" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.pm3argparse.PM3ArgumentParser.AddFragments">
+<span class="sig-name descname"><span class="pre">AddFragments</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.pm3argparse.PM3ArgumentParser.AddFragments" title="Permalink to this definition">¶</a></dt>
 <dd><p>Commandline option for usage of Fragments</p>
 <p>Activate everything needed to setup 
 <a class="reference internal" href="../modelling/algorithms.html#promod3.modelling.FraggerHandle" title="promod3.modelling.FraggerHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.modelling.FraggerHandle</span></code></a> objects in the argument parser.
@@ -199,138 +192,135 @@ Command line arguments are then added in <a class="reference internal" href="#pr
 input is post processed and checked in <a class="reference internal" href="#promod3.core.pm3argparse.PM3ArgumentParser.Parse" title="promod3.core.pm3argparse.PM3ArgumentParser.Parse"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Parse()</span></code></a>.</p>
 <p>Options/arguments added:</p>
 <ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">-r/--use-fragments</span></code> - Boolean flag whether to setup fragger handles.</li>
+<li><p><code class="docutils literal notranslate"><span class="pre">-r/--use-fragments</span></code> - Boolean flag whether to setup fragger handles.</p></li>
 </ul>
 <p>Notes:</p>
 <ul class="simple">
-<li>Fragger handles are setup to identify fragments in a 
-<a class="reference internal" href="../loop/structure_db.html#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.StructureDB</span></code></a>.</li>
-<li>If no profiles are provided as additional argument 
+<li><p>Fragger handles are setup to identify fragments in a 
+<a class="reference internal" href="../loop/structure_db.html#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.StructureDB</span></code></a>.</p></li>
+<li><p>If no profiles are provided as additional argument 
 (<code class="docutils literal notranslate"><span class="pre">-s/--seqprof</span> <span class="pre">&lt;FILE&gt;</span></code>), fragments are identified based on BLOSUM62 
-sequence similarity.</li>
-<li>If you provide profiles that are not in hhm format, fragments are 
+sequence similarity.</p></li>
+<li><p>If you provide profiles that are not in hhm format, fragments are 
 identified based on BLOSUM62 sequence similarity, sequence profile 
-scoring and structural profile scoring.</li>
-<li>If you provide profiles in hhm format (optimal case), psipred 
+scoring and structural profile scoring.</p></li>
+<li><p>If you provide profiles in hhm format (optimal case), psipred 
 predictions are fetched from there and fragments are identified based
 on secondary structure agreement, secondary structure dependent
 torsion probabilities, sequence profile scoring and structure 
-profile scoring.</li>
+profile scoring.</p></li>
 </ul>
 <p>Attributes added to the namespace returned by <a class="reference internal" href="#promod3.core.pm3argparse.PM3ArgumentParser.Parse" title="promod3.core.pm3argparse.PM3ArgumentParser.Parse"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Parse()</span></code></a>:</p>
 <ul class="simple">
-<li><code class="xref py py-attr docutils literal notranslate"><span class="pre">fragger_handles</span></code> - <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of 
+<li><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">fragger_handles</span></code> - <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of 
 <a class="reference internal" href="../modelling/algorithms.html#promod3.modelling.FraggerHandle" title="promod3.modelling.FraggerHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.modelling.FraggerHandle</span></code></a>, ordered to match the target 
-sequences.</li>
+sequences.</p></li>
 </ul>
 <p>Exit codes related to fragments input:</p>
 <ul class="simple">
-<li>56 - cannot read psipred prediction from hhm file</li>
+<li><p>56 - cannot read psipred prediction from hhm file</p></li>
 </ul>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.core.pm3argparse.PM3ArgumentParser.AddProfile">
-<code class="descname">AddProfile</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.pm3argparse.PM3ArgumentParser.AddProfile" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.pm3argparse.PM3ArgumentParser.AddProfile">
+<span class="sig-name descname"><span class="pre">AddProfile</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.pm3argparse.PM3ArgumentParser.AddProfile" title="Permalink to this definition">¶</a></dt>
 <dd><p>Commandline options for profiles</p>
 <p>Activate everything needed to load profiles to the argument parser.
 Command line arguments are then added in <a class="reference internal" href="#promod3.core.pm3argparse.PM3ArgumentParser.AssembleParser" title="promod3.core.pm3argparse.PM3ArgumentParser.AssembleParser"><code class="xref py py-meth docutils literal notranslate"><span class="pre">AssembleParser()</span></code></a> and the
 input is post processed and checked in <a class="reference internal" href="#promod3.core.pm3argparse.PM3ArgumentParser.Parse" title="promod3.core.pm3argparse.PM3ArgumentParser.Parse"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Parse()</span></code></a>.</p>
 <p>Options/arguments added:</p>
 <ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">-s/--seqprof</span> <span class="pre">&lt;FILE&gt;</span></code> - Sequence profile in any format readable
+<li><p><code class="docutils literal notranslate"><span class="pre">-s/--seqprof</span> <span class="pre">&lt;FILE&gt;</span></code> - Sequence profile in any format readable
 by the <code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.io.LoadSequenceProfile()</span></code> method. Format is chosen by 
 file ending. Recognized file extensions: .hhm, .hhm.gz, .pssm, 
 .pssm.gz. Consider to use 
 <code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.bindings.hhblits.HHblits.A3MToProfile()</span></code> if you have a file 
-in a3m format at hand.</li>
+in a3m format at hand.</p></li>
 </ul>
 <p>Notes:</p>
 <ul class="simple">
-<li>the profiles are mapped based on exact matches towards the gapless
+<li><p>the profiles are mapped based on exact matches towards the gapless
 target sequences, i.e. one profile is mapped to several chains in
-case of homo-oligomers</li>
-<li>every profile must have a unique sequence to avoid ambiguities</li>
-<li>all or nothing - you cannot provide profiles for only a subset of
-target sequences</li>
+case of homo-oligomers</p></li>
+<li><p>every profile must have a unique sequence to avoid ambiguities</p></li>
+<li><p>all or nothing - you cannot provide profiles for only a subset of
+target sequences</p></li>
 </ul>
 <p>Attributes added to the namespace returned by <a class="reference internal" href="#promod3.core.pm3argparse.PM3ArgumentParser.Parse" title="promod3.core.pm3argparse.PM3ArgumentParser.Parse"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Parse()</span></code></a>:</p>
 <ul class="simple">
-<li><code class="xref py py-attr docutils literal notranslate"><span class="pre">profiles</span></code> - <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a>, 
-ordered to match the target sequences.</li>
+<li><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">profiles</span></code> - <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a>, 
+ordered to match the target sequences.</p></li>
 </ul>
 <p>Exit codes related to profile input:</p>
 <ul class="simple">
-<li>51 - a given profile file does not exist</li>
-<li>52 - failure to read a given profile file</li>
-<li>53 - a profile cannot be mapped to any target sequence</li>
-<li>54 - profile sequences are not unique</li>
-<li>55 - only subset of target sequences is covered by profile</li>
+<li><p>51 - a given profile file does not exist</p></li>
+<li><p>52 - failure to read a given profile file</p></li>
+<li><p>53 - a profile cannot be mapped to any target sequence</p></li>
+<li><p>54 - profile sequences are not unique</p></li>
+<li><p>55 - only subset of target sequences is covered by profile</p></li>
 </ul>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.core.pm3argparse.PM3ArgumentParser.AddStructure">
-<code class="descname">AddStructure</code><span class="sig-paren">(</span><em>attach_views=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.pm3argparse.PM3ArgumentParser.AddStructure" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.pm3argparse.PM3ArgumentParser.AddStructure">
+<span class="sig-name descname"><span class="pre">AddStructure</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">attach_views</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.pm3argparse.PM3ArgumentParser.AddStructure" title="Permalink to this definition">¶</a></dt>
 <dd><p>Commandline options for structures.</p>
 <p>Activate everything needed to load structures to the argument parser.
 Command line arguments are then added in <a class="reference internal" href="#promod3.core.pm3argparse.PM3ArgumentParser.AssembleParser" title="promod3.core.pm3argparse.PM3ArgumentParser.AssembleParser"><code class="xref py py-meth docutils literal notranslate"><span class="pre">AssembleParser()</span></code></a> and the
 input is post processed and checked in <a class="reference internal" href="#promod3.core.pm3argparse.PM3ArgumentParser.Parse" title="promod3.core.pm3argparse.PM3ArgumentParser.Parse"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Parse()</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>attach_views</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – if True: attach views to alignments. Requires call
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>attach_views</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – if True: attach views to alignments. Requires call
 to <a class="reference internal" href="#promod3.core.pm3argparse.PM3ArgumentParser.AddAlignment" title="promod3.core.pm3argparse.PM3ArgumentParser.AddAlignment"><code class="xref py py-meth docutils literal notranslate"><span class="pre">AddAlignment()</span></code></a>. Chains for each sequence
 are identified based on the sequence name of the
 templates in the alignments (see 
-<a class="reference internal" href="../actions/index.html#promod-build-model"><span class="std std-ref">here</span></a> for details).</td>
-</tr>
-</tbody>
-</table>
+<a class="reference internal" href="../actions/index.html#promod-build-model"><span class="std std-ref">here</span></a> for details).</p>
+</dd>
+</dl>
 <p>Options/arguments added:</p>
 <ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">-p/--pdb</span> <span class="pre">&lt;FILE&gt;</span></code> - Structure in PDB format. File can be plain or
-gzipped.</li>
-<li><code class="docutils literal notranslate"><span class="pre">-e/--entity</span> <span class="pre">&lt;FILE&gt;</span></code> - Structure in any format readable by the
+<li><p><code class="docutils literal notranslate"><span class="pre">-p/--pdb</span> <span class="pre">&lt;FILE&gt;</span></code> - Structure in PDB format. File can be plain or
+gzipped.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">-e/--entity</span> <span class="pre">&lt;FILE&gt;</span></code> - Structure in any format readable by the
 <code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.io.LoadEntity()</span></code> method. Format is chosen by file ending.
-Recognized File Extensions: .ent, .pdb, .ent.gz, .pdb.gz, .cif, .cif.gz.</li>
+Recognized File Extensions: .ent, .pdb, .ent.gz, .pdb.gz, .cif, .cif.gz.</p></li>
 </ul>
 <p>Notes:</p>
 <ul class="simple">
-<li>one of the inputs must be given and only one type of input acceptable</li>
-<li>callable multiple times (structures appended in given order)</li>
+<li><p>one of the inputs must be given and only one type of input acceptable</p></li>
+<li><p>callable multiple times (structures appended in given order)</p></li>
 </ul>
 <p>Attributes added to the namespace returned by <a class="reference internal" href="#promod3.core.pm3argparse.PM3ArgumentParser.Parse" title="promod3.core.pm3argparse.PM3ArgumentParser.Parse"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Parse()</span></code></a>:</p>
 <ul class="simple">
-<li><code class="xref py py-attr docutils literal notranslate"><span class="pre">pdb</span></code> - filled with the input of the <code class="docutils literal notranslate"><span class="pre">--pdb</span></code> option, a
-<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> (filenames).</li>
-<li><code class="xref py py-attr docutils literal notranslate"><span class="pre">entity</span></code> - filled with the input of the <code class="docutils literal notranslate"><span class="pre">--entity</span></code> option, a
-<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> (filenames).</li>
-<li><code class="xref py py-attr docutils literal notranslate"><span class="pre">structures</span></code> - <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <code class="xref py py-class docutils literal notranslate"><span class="pre">ost.EntityHandle</span></code>, same
-order as given.</li>
-<li><code class="xref py py-attr docutils literal notranslate"><span class="pre">structure_sources</span></code> - <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> with the
-original filenames of the structures.</li>
+<li><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">pdb</span></code> - filled with the input of the <code class="docutils literal notranslate"><span class="pre">--pdb</span></code> option, a
+<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> (filenames).</p></li>
+<li><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">entity</span></code> - filled with the input of the <code class="docutils literal notranslate"><span class="pre">--entity</span></code> option, a
+<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> (filenames).</p></li>
+<li><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">structures</span></code> - <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <code class="xref py py-class docutils literal notranslate"><span class="pre">ost.EntityHandle</span></code>, same
+order as given.</p></li>
+<li><p><code class="xref py py-attr docutils literal notranslate"><span class="pre">structure_sources</span></code> - <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> with the
+original filenames of the structures.</p></li>
 </ul>
 <p>Exit codes related to alignment input:</p>
 <ul class="simple">
-<li>32 - a given structure file does not exist</li>
-<li>33 - failure to read a given structure file</li>
-<li>34 - file ending is not a supported format</li>
+<li><p>32 - a given structure file does not exist</p></li>
+<li><p>33 - failure to read a given structure file</p></li>
+<li><p>34 - file ending is not a supported format</p></li>
 </ul>
 <p>Exit codes if <em>attach_views</em> = True:</p>
 <ul class="simple">
-<li>41 - attach_views used without adding alignments</li>
-<li>42 - inconsistent offsets between seq. name and seq. in alignment</li>
-<li>43 - non-integer offset defined in seq. name</li>
-<li>44 - too many “|” in seq. name</li>
-<li>45 - chain to attach to sequence could not be identified</li>
+<li><p>41 - attach_views used without adding alignments</p></li>
+<li><p>42 - inconsistent offsets between seq. name and seq. in alignment</p></li>
+<li><p>43 - non-integer offset defined in seq. name</p></li>
+<li><p>44 - too many “|” in seq. name</p></li>
+<li><p>45 - chain to attach to sequence could not be identified</p></li>
 </ul>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.core.pm3argparse.PM3ArgumentParser.AssembleParser">
-<code class="descname">AssembleParser</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.pm3argparse.PM3ArgumentParser.AssembleParser" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.pm3argparse.PM3ArgumentParser.AssembleParser">
+<span class="sig-name descname"><span class="pre">AssembleParser</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.pm3argparse.PM3ArgumentParser.AssembleParser" title="Permalink to this definition">¶</a></dt>
 <dd><p>When adding options via the <code class="xref py py-meth docutils literal notranslate"><span class="pre">Add*()</span></code> methods, call this after you
 are done. Everything before just tells the parser that it should
 contain those option sets but does not actually add anything.
@@ -338,35 +328,34 @@ contain those option sets but does not actually add anything.
 and with the right constraints.</p>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.core.pm3argparse.PM3ArgumentParser.Parse">
-<code class="descname">Parse</code><span class="sig-paren">(</span><em>args=None</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.pm3argparse.PM3ArgumentParser.Parse" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.pm3argparse.PM3ArgumentParser.Parse">
+<span class="sig-name descname"><span class="pre">Parse</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">args</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.pm3argparse.PM3ArgumentParser.Parse" title="Permalink to this definition">¶</a></dt>
 <dd><p>Parse an argument string. See <code class="xref py py-meth docutils literal notranslate"><span class="pre">Add*()</span></code> methods.</p>
 <p>Options/arguments added by default: <code class="docutils literal notranslate"><span class="pre">-h/--help</span></code> shows usage.</p>
 <p>General exit codes:</p>
 <ul class="simple">
-<li>1 - an unhandled exception was raised</li>
-<li>2 - arguments cannot be parsed or required arguments are missing</li>
+<li><p>1 - an unhandled exception was raised</p></li>
+<li><p>2 - arguments cannot be parsed or required arguments are missing</p></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"><strong>args</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – The argument string. As default <a class="reference external" href="https://docs.python.org/3.7/library/sys.html#sys.argv"><code class="xref py py-attr docutils literal notranslate"><span class="pre">sys.argv</span></code></a> is used.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">Namespace filled with attributes (see <code class="xref py py-meth docutils literal notranslate"><span class="pre">Add*()</span></code> methods).</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>args</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – The argument string. As default <a class="reference external" href="https://docs.python.org/3.11/library/sys.html#sys.argv"><code class="xref py py-attr docutils literal notranslate"><span class="pre">sys.argv</span></code></a> is used.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Namespace filled with attributes (see <code class="xref py py-meth docutils literal notranslate"><span class="pre">Add*()</span></code> methods).</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -387,12 +376,12 @@ and with the right constraints.</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -409,36 +398,42 @@ and with the right constraints.</p>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a><ul>
-      <li>Previous: <a href="index.html" title="previous chapter"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-      <li>Next: <a href="helper.html" title="next chapter"><code class="docutils literal notranslate"><span class="pre">helper</span></code> - Shared Functionality For the Everything</a></li>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a><ul>
+      <li>Previous: <a href="index.html" title="previous chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+      <li>Next: <a href="helper.html" title="next chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">helper</span></code> - Shared Functionality For the Everything</a></li>
   </ul></li>
   </ul></li>
   </ul></li>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/core/pm3argparse.rst.txt"
diff --git a/doc/html/core/runtime_profiling.html b/doc/html/core/runtime_profiling.html
index 627e3ff595077a71b695bd03ba869f19e77ab44a..95ee0396919d76ff9f3c077b3253b1528ba501ec 100644
--- a/doc/html/core/runtime_profiling.html
+++ b/doc/html/core/runtime_profiling.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Runtime profiling &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Runtime profiling &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Graph Minimizer" href="graph_minimizer.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,13 +31,15 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="runtime-profiling">
-<h1>Runtime profiling<a class="headerlink" href="#runtime-profiling" title="Permalink to this headline">¶</a></h1>
-<dl class="class">
-<dt id="promod3.core.StaticRuntimeProfiler">
-<em class="property">class </em><code class="descclassname">promod3.core.</code><code class="descname">StaticRuntimeProfiler</code><a class="headerlink" href="#promod3.core.StaticRuntimeProfiler" title="Permalink to this definition">¶</a></dt>
+  <section id="runtime-profiling">
+<h1>Runtime profiling<a class="headerlink" href="#runtime-profiling" title="Permalink to this heading">¶</a></h1>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.core.StaticRuntimeProfiler">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.core.</span></span><span class="sig-name descname"><span class="pre">StaticRuntimeProfiler</span></span><a class="headerlink" href="#promod3.core.StaticRuntimeProfiler" title="Permalink to this definition">¶</a></dt>
 <dd><p>Defines functionality for runtime profiling.</p>
 <p>All profiling is completely turned off by default and must be activated at
 compile-time by adding <code class="docutils literal notranslate"><span class="pre">-DPM3_RUNTIME_PROFILING_LEVEL=N</span></code> to your CMake
@@ -50,109 +53,94 @@ generated considering the number of timings and the total runtime for that
 timer. If a timer within another timed entity, the outer timer is paused,
 while the inner one is running. Hence, the sum of all timers will be the
 total time spent in any timer (nothing is counted twice!).</p>
-<dl class="staticmethod">
-<dt id="promod3.core.StaticRuntimeProfiler.Start">
-<em class="property">static </em><code class="descname">Start</code><span class="sig-paren">(</span><em>id</em>, <em>level=1</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.StaticRuntimeProfiler.Start" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.StaticRuntimeProfiler.Start">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Start</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">level</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.StaticRuntimeProfiler.Start" title="Permalink to this definition">¶</a></dt>
 <dd><p>Start a timer for the given <cite>id</cite>. This pauses any other currently running
 timer.</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>id</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Identifier for this timer.</li>
-<li><strong>level</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Timer only started if level &lt;= <code class="docutils literal notranslate"><span class="pre">PM3_RUNTIME_PROFILING_LEVEL</span></code></li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>id</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Identifier for this timer.</p></li>
+<li><p><strong>level</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Timer only started if level &lt;= <code class="docutils literal notranslate"><span class="pre">PM3_RUNTIME_PROFILING_LEVEL</span></code></p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.core.StaticRuntimeProfiler.StartScoped">
-<em class="property">static </em><code class="descname">StartScoped</code><span class="sig-paren">(</span><em>id</em>, <em>level=1</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.StaticRuntimeProfiler.StartScoped" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.StaticRuntimeProfiler.StartScoped">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">StartScoped</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">level</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.StaticRuntimeProfiler.StartScoped" title="Permalink to this definition">¶</a></dt>
 <dd><p>Start a timer for the given <cite>id</cite> as in <a class="reference internal" href="#promod3.core.StaticRuntimeProfiler.Start" title="promod3.core.StaticRuntimeProfiler.Start"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Start()</span></code></a>, but this will stop it
 automatically when the returned variable goes out of scope.</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>id</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Identifier for this timer.</li>
-<li><strong>level</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Timer only started if level &lt;= <code class="docutils literal notranslate"><span class="pre">PM3_RUNTIME_PROFILING_LEVEL</span></code></li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>id</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Identifier for this timer.</p></li>
+<li><p><strong>level</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Timer only started if level &lt;= <code class="docutils literal notranslate"><span class="pre">PM3_RUNTIME_PROFILING_LEVEL</span></code></p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">Object that will call <a class="reference internal" href="#promod3.core.StaticRuntimeProfiler.Stop" title="promod3.core.StaticRuntimeProfiler.Stop"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Stop()</span></code></a> when it goes out of scope</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Object that will call <a class="reference internal" href="#promod3.core.StaticRuntimeProfiler.Stop" title="promod3.core.StaticRuntimeProfiler.Stop"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Stop()</span></code></a> when it goes out of scope</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.core.StaticRuntimeProfiler.Stop">
-<em class="property">static </em><code class="descname">Stop</code><span class="sig-paren">(</span><em>id</em>, <em>level=1</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.StaticRuntimeProfiler.Stop" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.StaticRuntimeProfiler.Stop">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Stop</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">level</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.StaticRuntimeProfiler.Stop" title="Permalink to this definition">¶</a></dt>
 <dd><p>Stop the currently running timer. If a timer was paused when starting this
 timer, it will be resumed now. Note that there is no error checking here, so
 this will fail miserably if no timer is currently running.</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>level</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Timer only stopped if level &lt;= <code class="docutils literal notranslate"><span class="pre">PM3_RUNTIME_PROFILING_LEVEL</span></code></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>level</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Timer only stopped if level &lt;= <code class="docutils literal notranslate"><span class="pre">PM3_RUNTIME_PROFILING_LEVEL</span></code></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.core.StaticRuntimeProfiler.PrintSummary">
-<em class="property">static </em><code class="descname">PrintSummary</code><span class="sig-paren">(</span><em>max_to_show=-1</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.StaticRuntimeProfiler.PrintSummary" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.StaticRuntimeProfiler.PrintSummary">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PrintSummary</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">max_to_show</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.StaticRuntimeProfiler.PrintSummary" title="Permalink to this definition">¶</a></dt>
 <dd><p>Display a summary of all timed entities. The timers are collected by id and
 sorted by total runtime. If more than 10 entries are shown and the used id’s
 have the form “GROUP::NAME”, an additional summary is shown with the total
 times spent in each “GROUP”.</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>max_to_show</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – if &gt;= 0, show only top <cite>max_to_show</cite> entries.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>max_to_show</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – if &gt;= 0, show only top <cite>max_to_show</cite> entries.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.core.StaticRuntimeProfiler.IsEnabled">
-<em class="property">static </em><code class="descname">IsEnabled</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.StaticRuntimeProfiler.IsEnabled" 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, if <code class="docutils literal notranslate"><span class="pre">PM3_RUNTIME_PROFILING_LEVEL</span></code> &gt; 0. Otherwise, profiling
-is completely turned off.</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.StaticRuntimeProfiler.IsEnabled">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">IsEnabled</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.StaticRuntimeProfiler.IsEnabled" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>True, if <code class="docutils literal notranslate"><span class="pre">PM3_RUNTIME_PROFILING_LEVEL</span></code> &gt; 0. Otherwise, profiling
+is completely turned off.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.core.StaticRuntimeProfiler.Clear">
-<em class="property">static </em><code class="descname">Clear</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.StaticRuntimeProfiler.Clear" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.core.StaticRuntimeProfiler.Clear">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Clear</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.core.StaticRuntimeProfiler.Clear" title="Permalink to this definition">¶</a></dt>
 <dd><p>Clears all timed entries. Note that there is no error checking here, so this
 will fail miserably if timers are currently running.</p>
 </dd></dl>
 
 </dd></dl>
 
-</div>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -173,12 +161,12 @@ will fail miserably if timers are currently running.</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -195,7 +183,7 @@ will fail miserably if timers are currently running.</p>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a><ul>
       <li>Previous: <a href="geometry.html" title="previous chapter">Geometry functions</a></li>
       <li>Next: <a href="graph_minimizer.html" title="next chapter">Graph Minimizer</a></li>
   </ul></li>
@@ -204,27 +192,33 @@ will fail miserably if timers are currently running.</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/core/runtime_profiling.rst.txt"
diff --git a/doc/html/core/setcompoundschemlib.html b/doc/html/core/setcompoundschemlib.html
index 369e60e56b82d72a224983561042c9553231fbcd..d94f4610b6bf5b4a1ca520d3f39d61b4d28081e4 100644
--- a/doc/html/core/setcompoundschemlib.html
+++ b/doc/html/core/setcompoundschemlib.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>SetCompoundsChemlib() &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>SetCompoundsChemlib() &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Contributing" href="../user_contributions.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,10 +31,12 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="setcompoundschemlib">
-<h1><a class="reference internal" href="#promod3.SetCompoundsChemlib" title="promod3.SetCompoundsChemlib"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a><a class="headerlink" href="#setcompoundschemlib" title="Permalink to this headline">¶</a></h1>
+  <section id="setcompoundschemlib">
+<h1><a class="reference internal" href="#promod3.SetCompoundsChemlib" title="promod3.SetCompoundsChemlib"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a><a class="headerlink" href="#setcompoundschemlib" title="Permalink to this heading">¶</a></h1>
 <p>This is the one function defined on the highest level of ProMod3’s module
 hierarchy. It is used to load an OST compound library to avoid running
 Python code via the ancient OST wrapper. Applying this function at
@@ -41,25 +44,23 @@ top-level, we can set a decent default by CMake plus the library is
 immediately available just by invoking <strong>any</strong> ProMod3 module. You do not
 need to call this function, only if you want to load a different chemical
 components dictionary.</p>
-<dl class="function">
-<dt id="promod3.SetCompoundsChemlib">
-<code class="descclassname">promod3.</code><code class="descname">SetCompoundsChemlib</code><span class="sig-paren">(</span><em>path_to_chemlib</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.SetCompoundsChemlib" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.SetCompoundsChemlib">
+<span class="sig-prename descclassname"><span class="pre">promod3.</span></span><span class="sig-name descname"><span class="pre">SetCompoundsChemlib</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path_to_chemlib</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.SetCompoundsChemlib" title="Permalink to this definition">¶</a></dt>
 <dd><p>Load a compounds library. Does not return anything, the library is just
 enabled globally.</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>path_to_chemlib</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Points to the file to be loaded.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>path_to_chemlib</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Points to the file to be loaded.</p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -80,12 +81,12 @@ enabled globally.</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -109,27 +110,33 @@ enabled globally.</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/core/setcompoundschemlib.rst.txt"
diff --git a/doc/html/dev_setup.html b/doc/html/dev_setup.html
index 596af58a3aa25aa2c7fe0ccb39dcf8f8430978d6..7a2e52db9fd05ce7c3419f8b3da03edd53c44dbb 100644
--- a/doc/html/dev_setup.html
+++ b/doc/html/dev_setup.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>ProMod3 Setup &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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>
-    <script type="text/javascript" src="_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>ProMod3 Setup &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
+    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+    <script src="_static/jquery.js"></script>
+    <script src="_static/underscore.js"></script>
+    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="_static/doctools.js"></script>
+    <script src="_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="next" title="Contributing" href="contributing.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,16 +31,18 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="project-setup">
-<h1>ProMod3 Setup<a class="headerlink" href="#project-setup" title="Permalink to this headline">¶</a></h1>
+  <section id="project-setup">
+<h1>ProMod3 Setup<a class="headerlink" href="#project-setup" title="Permalink to this heading">¶</a></h1>
 <p>The following should give an overview of how this project is set up. Anyone
 planning to develop parts of ProMod3 should read this! Important topics are
 Git branches, the directory structure and tightly linked with this also
 CMake.</p>
-<div class="section" id="git-branches">
-<span id="id1"></span><h2>Git Branches<a class="headerlink" href="#git-branches" title="Permalink to this headline">¶</a></h2>
+<section id="git-branches">
+<span id="id1"></span><h2>Git Branches<a class="headerlink" href="#git-branches" title="Permalink to this heading">¶</a></h2>
 <p>Basically we have two, sometimes three major branches. <code class="docutils literal notranslate"><span class="pre">master</span></code>, <code class="docutils literal notranslate"><span class="pre">develop</span></code>
 and in front of a new release a dedicated release branch. For bugs, hotfix
 branches of a rather short life are used.</p>
@@ -58,11 +61,11 @@ whole projects extending ProMod3 and see that they work seamlessly together
 with the rest of the system. There do exist a couple of rather strict rules for
 what goes into this branch:</p>
 <ul class="simple">
-<li>Your code must have been (briefly) reviewed by others</li>
-<li>There have to be unit tests</li>
-<li>It needs to pass <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">check</span></code> <strong>including</strong> <code class="docutils literal notranslate"><span class="pre">doctest</span></code> &amp; <code class="docutils literal notranslate"><span class="pre">linkcheck</span></code></li>
-<li>Your project needs documentation</li>
-<li>It must not break the ability of out-of-source builds</li>
+<li><p>Your code must have been (briefly) reviewed by others</p></li>
+<li><p>There have to be unit tests</p></li>
+<li><p>It needs to pass <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">check</span></code> <strong>including</strong> <code class="docutils literal notranslate"><span class="pre">doctest</span></code> &amp; <code class="docutils literal notranslate"><span class="pre">linkcheck</span></code></p></li>
+<li><p>Your project needs documentation</p></li>
+<li><p>It must not break the ability of out-of-source builds</p></li>
 </ul>
 <p>The reason to be a bit restrictive on branches which end up in actual releases,
 should be mostly obvious: ProMod3 is used by productive services as a third
@@ -78,9 +81,9 @@ created something that could go into a release, tidy things up according to the
 rules from above and merge it into <code class="docutils literal notranslate"><span class="pre">develop</span></code>. From there it will
 automatically find its way into the next release.</p>
 <p>To set up your own branch, start from a current <code class="docutils literal notranslate"><span class="pre">develop</span></code> branch:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> git checkout develop         <span class="c1"># switch to branch develop</span>
-<span class="gp">$</span> git pull --rebase            <span class="c1"># update branch develop</span>
-<span class="gp">$</span> git checkout -b &lt;BRANCHNAME&gt; <span class="c1"># create branch &lt;BRANCHNAME&gt; and switch to it</span>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>git<span class="w"> </span>checkout<span class="w"> </span>develop<span class="w">         </span><span class="c1"># switch to branch develop</span>
+<span class="gp">$ </span>git<span class="w"> </span>pull<span class="w"> </span>--rebase<span class="w">            </span><span class="c1"># update branch develop</span>
+<span class="gp">$ </span>git<span class="w"> </span>checkout<span class="w"> </span>-b<span class="w"> </span>&lt;BRANCHNAME&gt;<span class="w"> </span><span class="c1"># create branch &lt;BRANCHNAME&gt; and switch to it</span>
 </pre></div>
 </div>
 <p>Over time, <code class="docutils literal notranslate"><span class="pre">develop</span></code> may recognise some changes, e.g. new features, which you
@@ -88,7 +91,7 @@ want to make use of in your project. Keeping your branch up to date is a three
 step process. Git does not allow updates on top of changed code, so either
 changes have to be committed, or if in the middle of implementing something,
 stored away temporarily. Making commits is straight forward:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> git commit -m <span class="s1">&#39;&lt;DESCRIPTION&gt;&#39;</span> <span class="c1"># commit changes including a comment</span>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>git<span class="w"> </span>commit<span class="w"> </span>-m<span class="w"> </span><span class="s1">&#39;&lt;DESCRIPTION&gt;&#39;</span><span class="w"> </span><span class="c1"># commit changes including a comment</span>
 </pre></div>
 </div>
 <p>Hiding your changes away from Git just for updating files is a bit more
@@ -99,53 +102,53 @@ you have changed, too, and stashed away, this may end up in a non-resolvable
 merge conflict and your changes are lost. Usually the log tells you, which
 files were recently modified. Moving all current changes to the stack is
 achieved by:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> git stash save
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>git<span class="w"> </span>stash<span class="w"> </span>save
 </pre></div>
 </div>
 <p>To revive them, use:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> git stash pop
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>git<span class="w"> </span>stash<span class="w"> </span>pop
 </pre></div>
 </div>
 <p>After cleaning up your branch, switch to <code class="docutils literal notranslate"><span class="pre">develop</span></code>, update it and switch back:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> git checkout develop
-<span class="gp">$</span> git pull --rebase
-<span class="gp">$</span> git checkout &lt;BRANCHNAME&gt;
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>git<span class="w"> </span>checkout<span class="w"> </span>develop
+<span class="gp">$ </span>git<span class="w"> </span>pull<span class="w"> </span>--rebase
+<span class="gp">$ </span>git<span class="w"> </span>checkout<span class="w"> </span>&lt;BRANCHNAME&gt;
 </pre></div>
 </div>
 <p>Now for actually updating your branch, there are two different ways: merging
 and rebasing. A rebase may only be done, if you <strong>never</strong> pushed your branch to
 the origin of the repository (otherwise you will mess up history, in the worst
 case <code class="docutils literal notranslate"><span class="pre">develop</span></code> may be unusable once you merge):</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> git rebase develop
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>git<span class="w"> </span>rebase<span class="w"> </span>develop
 </pre></div>
 </div>
 <p>For branches which are available to others, do a proper merge:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> git merge develop
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>git<span class="w"> </span>merge<span class="w"> </span>develop
 </pre></div>
 </div>
 <p>This may require some manual conflict solving and will end up in a merge commit.</p>
-</div>
-<div class="section" id="git-hooks">
-<h2>Git Hooks<a class="headerlink" href="#git-hooks" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="git-hooks">
+<h2>Git Hooks<a class="headerlink" href="#git-hooks" title="Permalink to this heading">¶</a></h2>
 <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 notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> cp extras/pre_commit/pre-commit .git/hooks/
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cp<span class="w"> </span>extras/pre_commit/pre-commit<span class="w"> </span>.git/hooks/
 </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 notranslate"><span class="pre">extras/pre_commit/</span></code>. The checks can be manually executed with</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> python .git/hooks/pre-commit
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>python<span class="w"> </span>.git/hooks/pre-commit
 </pre></div>
 </div>
 <p>If you ever have to skip the hook,</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> git commit --no-verify
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>git<span class="w"> </span>commit<span class="w"> </span>--no-verify
 </pre></div>
 </div>
 <p>does the trick. <strong>But</strong> 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,
 it will reappear next time that very file changes.</p>
-<p>For checking Python code, the pre-commit hook employs <a class="reference external" href="https://www.pylint.org">Pylint</a>, to make sure
+<p>For checking Python code, the pre-commit hook employs <a class="reference external" href="https://pylint.readthedocs.io">Pylint</a>, to make sure
 we stay close to <a class="reference external" href="https://www.python.org/dev/peps/pep-0008/">PEP 8</a>. If you feel the need to make changes to the Pylint
 call, please make sure you fully understand what the complaints are. Sometimes
 PEP 8 sounds overly restrictive but it may help with performance and
@@ -158,9 +161,9 @@ the configuration flushed into Pylint may be found at
 <code class="file docutils literal notranslate"><span class="pre">extras/pre_commit/pm3_csc/filecheck/pylintrc</span></code> and
 <code class="file docutils literal notranslate"><span class="pre">extras/pre_commit/pm3_csc/filecheck/pylint-unittest-rc</span></code>. The latter one
 is invoked on unit test code, where we may go a little bit less restrictive.</p>
-</div>
-<div class="section" id="directory-structure">
-<h2>Directory Structure<a class="headerlink" href="#directory-structure" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="directory-structure">
+<h2>Directory Structure<a class="headerlink" href="#directory-structure" title="Permalink to this heading">¶</a></h2>
 <p>The directory structure of the ProMod3 repository is supposed to ‘keep
 everything together that belongs together’. That is, code, documentation and
 extra data should be gathered on a per-module basis immediately in the
@@ -196,21 +199,21 @@ repository root. The directory structure of your module should look like this:</
 </div>
 <p>Additionally to the module directories there are a few extra folders:</p>
 <ul class="simple">
-<li><code class="file docutils literal notranslate"><span class="pre">actions</span></code>: Scripts callable as <code class="docutils literal notranslate"><span class="pre">pm</span> <span class="pre">&lt;ACTION_NAME&gt;</span></code>.
-See <a class="reference internal" href="contributing.html#how-to-start-your-own-action"><span class="std std-ref">here</span></a> for details.</li>
-<li><code class="file docutils literal notranslate"><span class="pre">cmake_support</span></code>: Helper functions for CMake.
-See <a class="reference internal" href="cmake/index.html#pm3-cmake-doc"><span class="std std-ref">here</span></a> for details.</li>
-<li><code class="file docutils literal notranslate"><span class="pre">doc</span></code>: High-level documentation, test scripts (<code class="file docutils literal notranslate"><span class="pre">doc/tests</span></code>) and a
+<li><p><code class="file docutils literal notranslate"><span class="pre">actions</span></code>: Scripts callable as <code class="docutils literal notranslate"><span class="pre">pm</span> <span class="pre">&lt;ACTION_NAME&gt;</span></code>.
+See <a class="reference internal" href="contributing.html#how-to-start-your-own-action"><span class="std std-ref">here</span></a> for details.</p></li>
+<li><p><code class="file docutils literal notranslate"><span class="pre">cmake_support</span></code>: Helper functions for CMake.
+See <a class="reference internal" href="cmake/index.html#pm3-cmake-doc"><span class="std std-ref">here</span></a> for details.</p></li>
+<li><p><code class="file docutils literal notranslate"><span class="pre">doc</span></code>: High-level documentation, test scripts (<code class="file docutils literal notranslate"><span class="pre">doc/tests</span></code>) and a
 copy of the generated html documentation (<code class="file docutils literal notranslate"><span class="pre">doc/html</span></code>). The latter must
 be kept up-to-date at least on the <code class="docutils literal notranslate"><span class="pre">master</span></code> branch.
-See <a class="reference internal" href="contributing.html#writing-documentation"><span class="std std-ref">here</span></a> for details.</li>
-<li><code class="file docutils literal notranslate"><span class="pre">extras</span></code>: Extra data and information that doesn’t fit anywhere
-else (e.g. Git hooks or scripts to recreate the binary files).</li>
-<li><code class="file docutils literal notranslate"><span class="pre">scripts</span></code>: Input for scripts that end up in <code class="file docutils literal notranslate"><span class="pre">stage/bin</span></code></li>
+See <a class="reference internal" href="contributing.html#writing-documentation"><span class="std std-ref">here</span></a> for details.</p></li>
+<li><p><code class="file docutils literal notranslate"><span class="pre">extras</span></code>: Extra data and information that doesn’t fit anywhere
+else (e.g. Git hooks or scripts to recreate the binary files).</p></li>
+<li><p><code class="file docutils literal notranslate"><span class="pre">scripts</span></code>: Input for scripts that end up in <code class="file docutils literal notranslate"><span class="pre">stage/bin</span></code></p></li>
 </ul>
-</div>
-<div class="section" id="cmake">
-<h2>CMake<a class="headerlink" href="#cmake" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="cmake">
+<h2>CMake<a class="headerlink" href="#cmake" title="Permalink to this heading">¶</a></h2>
 <p>The attentive reader may have noticed all the <code class="file docutils literal notranslate"><span class="pre">CMakeLists.txt</span></code> files in
 the directory structure. Those are needed to configure the build system, e.g.
 tell it which files have to be considered packaging, compiling, etc.. Also
@@ -222,19 +225,20 @@ CMake <a class="reference internal" href="cmake/index.html#pm3-cmake-doc"><span
 build system, other than adding new files and modules, you have to dive into
 CMake documentation all by yourself and on your own responsibility. You have
 been warned.</p>
-</div>
-<div class="section" id="the-stage-directory">
-<h2>The <code class="file docutils literal notranslate"><span class="pre">stage</span></code> Directory<a class="headerlink" href="#the-stage-directory" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="the-stage-directory">
+<h2>The <code class="file docutils literal notranslate"><span class="pre">stage</span></code> Directory<a class="headerlink" href="#the-stage-directory" title="Permalink to this heading">¶</a></h2>
 <p>Once you hit <strong class="command">make</strong> in your build directory, a directory <code class="file docutils literal notranslate"><span class="pre">stage</span></code>
 in this path will be populated. It just resembles a directory structure as of a
 usual Unix file system filled with the build products of ProMod3. The
 <code class="file docutils literal notranslate"><span class="pre">stage</span></code> directory tree can already be utilised. You may import Python
 modules from there, use the binaries from <code class="file docutils literal notranslate"><span class="pre">stage/bin</span></code>, etc..</p>
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -271,27 +275,33 @@ modules from there, use the binaries from <code class="file docutils literal not
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="_sources/dev_setup.rst.txt"
diff --git a/doc/html/developers.html b/doc/html/developers.html
index b838c706184c9dfd262ceacd7bc3fed4d6aeec0f..5ad75970e79b72b534bb8de17808c6dfaa2dd808 100644
--- a/doc/html/developers.html
+++ b/doc/html/developers.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Documentation For Developers &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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>
-    <script type="text/javascript" src="_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Documentation For Developers &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
+    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+    <script src="_static/jquery.js"></script>
+    <script src="_static/underscore.js"></script>
+    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="_static/doctools.js"></script>
+    <script src="_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="next" title="ProMod3 Setup" href="dev_setup.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,10 +31,12 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="documentation-for-developers">
-<h1>Documentation For Developers<a class="headerlink" href="#documentation-for-developers" title="Permalink to this headline">¶</a></h1>
+  <section id="documentation-for-developers">
+<h1>Documentation For Developers<a class="headerlink" href="#documentation-for-developers" title="Permalink to this heading">¶</a></h1>
 <p>This section is for developers that wish to extending the functionality of
 ProMod3. It describes helper classes for development and how to contribute
 new features.</p>
@@ -59,7 +62,7 @@ new features.</p>
 <li class="toctree-l2"><a class="reference internal" href="contributing.html#third-party-contributions-license-issues">Third Party Contributions (License Issues)</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="actions/index_dev.html"><code class="docutils literal notranslate"><span class="pre">test_actions</span></code> - Testing Actions</a><ul>
+<li class="toctree-l1"><a class="reference internal" href="actions/index_dev.html"><code class="xref py py-mod docutils literal notranslate"><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>
@@ -78,10 +81,11 @@ new features.</p>
 </li>
 </ul>
 </div>
-</div>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -116,27 +120,33 @@ new features.</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="_sources/developers.rst.txt"
diff --git a/doc/html/genindex.html b/doc/html/genindex.html
index 70abe79670087210a7cb258e2cadeebdebc4985b..85e9f1877bf100a9dfe294ef3516a396b33e36b8 100644
--- a/doc/html/genindex.html
+++ b/doc/html/genindex.html
@@ -1,26 +1,25 @@
 
+<!DOCTYPE html>
 
-<!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">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Index &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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>
-    <script type="text/javascript" src="_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <title>Index &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
+    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+    <script src="_static/jquery.js"></script>
+    <script src="_static/underscore.js"></script>
+    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="_static/doctools.js"></script>
+    <script src="_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="#" />
     <link rel="search" title="Search" href="search.html" />
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -29,6 +28,8 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
 
@@ -64,44 +65,86 @@
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li>
-    -f, --energy_function
+    --backbone-independent
 
       <ul>
-        <li><a href="actions/index.html#cmdoption-f">command line option</a>
+        <li><a href="actions/index.html#cmdoption-i">command line option</a>
 </li>
       </ul></li>
       <li>
-    -i, --backbone-independent
+    --energy_function
 
       <ul>
-        <li><a href="actions/index.html#cmdoption-i">command line option</a>
+        <li><a href="actions/index.html#cmdoption-f">command line option</a>
 </li>
       </ul></li>
       <li>
-    -k, --keep-sidechains
+    --keep-sidechains
 
       <ul>
         <li><a href="actions/index.html#cmdoption-k">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    --no-disulfids
+
+      <ul>
+        <li><a href="actions/index.html#cmdoption-n">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    --no-subrotamer-optimization
+
+      <ul>
+        <li><a href="actions/index.html#cmdoption-s">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    --rigid-rotamers
+
+      <ul>
+        <li><a href="actions/index.html#cmdoption-r">command line option</a>
 </li>
       </ul></li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li>
-    -n, --no-disulfids
+    -f
+
+      <ul>
+        <li><a href="actions/index.html#cmdoption-f">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    -i
+
+      <ul>
+        <li><a href="actions/index.html#cmdoption-i">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    -k
+
+      <ul>
+        <li><a href="actions/index.html#cmdoption-k">command line option</a>
+</li>
+      </ul></li>
+      <li>
+    -n
 
       <ul>
         <li><a href="actions/index.html#cmdoption-n">command line option</a>
 </li>
       </ul></li>
       <li>
-    -r, --rigid-rotamers
+    -r
 
       <ul>
         <li><a href="actions/index.html#cmdoption-r">command line option</a>
 </li>
       </ul></li>
       <li>
-    -s, --no-subrotamer-optimization
+    -s
 
       <ul>
         <li><a href="actions/index.html#cmdoption-s">command line option</a>
@@ -121,12 +164,12 @@
         <li><a href="scoring/all_atom_scorers.html#promod3.scoring.AllAtomOverallScorer.__getitem__">(promod3.scoring.AllAtomOverallScorer method)</a>
 </li>
         <li><a href="scoring/backbone_scorers.html#promod3.scoring.BackboneOverallScorer.__getitem__">(promod3.scoring.BackboneOverallScorer method)</a>
+</li>
+        <li><a href="sidechain/frame.html#promod3.sidechain.FrameResidue.__getitem__">(promod3.sidechain.FrameResidue method)</a>
 </li>
         <li><a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamer.__getitem__">(promod3.sidechain.FRMRotamer method)</a>
 </li>
         <li><a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamerGroup.__getitem__">(promod3.sidechain.FRMRotamerGroup method)</a>
-</li>
-        <li><a href="sidechain/frame.html#promod3.sidechain.FrameResidue.__getitem__">(promod3.sidechain.FrameResidue method)</a>
 </li>
         <li><a href="sidechain/rotamer.html#promod3.sidechain.RRMRotamer.__getitem__">(promod3.sidechain.RRMRotamer method)</a>
 </li>
@@ -143,12 +186,12 @@
         <li><a href="loop/structure_db.html#promod3.loop.Fragger.__len__">(promod3.loop.Fragger method)</a>
 </li>
         <li><a href="loop/structure_db.html#promod3.loop.PsipredPrediction.__len__">(promod3.loop.PsipredPrediction method)</a>
+</li>
+        <li><a href="sidechain/frame.html#promod3.sidechain.FrameResidue.__len__">(promod3.sidechain.FrameResidue method)</a>
 </li>
         <li><a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamer.__len__">(promod3.sidechain.FRMRotamer method)</a>
 </li>
         <li><a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamerGroup.__len__">(promod3.sidechain.FRMRotamerGroup method)</a>
-</li>
-        <li><a href="sidechain/frame.html#promod3.sidechain.FrameResidue.__len__">(promod3.sidechain.FrameResidue method)</a>
 </li>
         <li><a href="sidechain/rotamer.html#promod3.sidechain.RRMRotamer.__len__">(promod3.sidechain.RRMRotamer method)</a>
 </li>
@@ -192,7 +235,7 @@
     add_doc_source
 
       <ul>
-        <li><a href="cmake/index.html#index-0-command:add_doc_source">command</a>, <a href="cmake/index.html#index-1-command:add_doc_source">[1]</a>, <a href="cmake/index.html#command:add_doc_source"><strong>[2]</strong></a>
+        <li><a href="cmake/index.html#command:add_doc_source"><strong>command</strong></a>, <a href="cmake/index.html#index-0-command:add_doc_source">[1]</a>, <a href="cmake/index.html#index-1-command:add_doc_source">[2]</a>
 </li>
       </ul></li>
       <li><a href="core/pm3argparse.html#promod3.core.pm3argparse.PM3ArgumentParser.AddAlignment">AddAlignment() (promod3.core.pm3argparse.PM3ArgumentParser method)</a>
@@ -215,7 +258,7 @@
         <li><a href="loop/structure_db.html#promod3.loop.FragDB.AddFragments">(promod3.loop.FragDB method)</a>
 </li>
       </ul></li>
-      <li><a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamer.AddFrameEnergy">AddFrameEnergy() (promod3.sidechain.FRMRotamer method)</a>, <a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamer.AddFrameEnergy">[1]</a>
+      <li><a href="sidechain/rotamer.html#id7">AddFrameEnergy() (promod3.sidechain.FRMRotamer method)</a>, <a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamer.AddFrameEnergy">[1]</a>
 
       <ul>
         <li><a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamerGroup.AddFrameEnergy">(promod3.sidechain.FRMRotamerGroup method)</a>
@@ -291,7 +334,7 @@
 </li>
       <li><a href="loop/all_atom.html#promod3.loop.AllAtomPositions">AllAtomPositions (class in promod3.loop)</a>
 </li>
-      <li><a href="loop/all_atom.html#promod3.loop.AllAtomPositions.AllAtomPositions">AllAtomPositions() (promod3.loop.AllAtomPositions method)</a>, <a href="loop/all_atom.html#promod3.loop.AllAtomPositions.AllAtomPositions">[1]</a>, <a href="loop/all_atom.html#promod3.loop.AllAtomPositions.AllAtomPositions">[2]</a>, <a href="loop/all_atom.html#promod3.loop.AllAtomPositions.AllAtomPositions">[3]</a>
+      <li><a href="loop/all_atom.html#id0">AllAtomPositions() (promod3.loop.AllAtomPositions method)</a>, <a href="loop/all_atom.html#id1">[1]</a>, <a href="loop/all_atom.html#id2">[2]</a>, <a href="loop/all_atom.html#promod3.loop.AllAtomPositions.AllAtomPositions">[3]</a>
 </li>
       <li><a href="modelling/loop_closing.html#promod3.modelling.AllAtomRelaxer">AllAtomRelaxer (class in promod3.modelling)</a>
 </li>
@@ -331,12 +374,12 @@
 </li>
       <li><a href="modelling/loop_candidates.html#promod3.modelling.LoopCandidates.ApplyKIC">ApplyKIC() (promod3.modelling.LoopCandidates method)</a>
 </li>
-      <li><a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamer.ApplyOnResidue">ApplyOnResidue() (promod3.sidechain.FRMRotamer method)</a>, <a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamer.ApplyOnResidue">[1]</a>
+      <li><a href="sidechain/rotamer.html#id4">ApplyOnResidue() (promod3.sidechain.FRMRotamer method)</a>, <a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamer.ApplyOnResidue">[1]</a>
 
       <ul>
         <li><a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamerGroup.ApplyOnResidue">(promod3.sidechain.FRMRotamerGroup method)</a>
 </li>
-        <li><a href="sidechain/rotamer.html#promod3.sidechain.RRMRotamer.ApplyOnResidue">(promod3.sidechain.RRMRotamer method)</a>, <a href="sidechain/rotamer.html#promod3.sidechain.RRMRotamer.ApplyOnResidue">[1]</a>
+        <li><a href="sidechain/rotamer.html#id0">(promod3.sidechain.RRMRotamer method)</a>, <a href="sidechain/rotamer.html#promod3.sidechain.RRMRotamer.ApplyOnResidue">[1]</a>
 </li>
         <li><a href="sidechain/rotamer.html#promod3.sidechain.RRMRotamerGroup.ApplyOnResidue">(promod3.sidechain.RRMRotamerGroup method)</a>
 </li>
@@ -349,7 +392,7 @@
         <li><a href="sidechain/rotamer.html#promod3.sidechain.RRMRotamerGroup.ApplySelfEnergyThresh">(promod3.sidechain.RRMRotamerGroup method)</a>
 </li>
       </ul></li>
-      <li><a href="loop/backbone.html#promod3.loop.BackboneList.ApplyTransform">ApplyTransform() (promod3.loop.BackboneList method)</a>, <a href="loop/backbone.html#promod3.loop.BackboneList.ApplyTransform">[1]</a>, <a href="loop/backbone.html#promod3.loop.BackboneList.ApplyTransform">[2]</a>
+      <li><a href="loop/backbone.html#id5">ApplyTransform() (promod3.loop.BackboneList method)</a>, <a href="loop/backbone.html#id6">[1]</a>, <a href="loop/backbone.html#promod3.loop.BackboneList.ApplyTransform">[2]</a>
 </li>
       <li><a href="core/pm3argparse.html#promod3.core.pm3argparse.PM3ArgumentParser.AssembleParser">AssembleParser() (promod3.core.pm3argparse.PM3ArgumentParser method)</a>
 </li>
@@ -389,11 +432,11 @@
 </li>
       <li><a href="loop/backbone.html#promod3.loop.BackboneList">BackboneList (class in promod3.loop)</a>
 </li>
-      <li><a href="loop/backbone.html#promod3.loop.BackboneList.BackboneList">BackboneList() (promod3.loop.BackboneList method)</a>, <a href="loop/backbone.html#promod3.loop.BackboneList.BackboneList">[1]</a>, <a href="loop/backbone.html#promod3.loop.BackboneList.BackboneList">[2]</a>, <a href="loop/backbone.html#promod3.loop.BackboneList.BackboneList">[3]</a>, <a href="loop/backbone.html#promod3.loop.BackboneList.BackboneList">[4]</a>
+      <li><a href="loop/backbone.html#id0">BackboneList() (promod3.loop.BackboneList method)</a>, <a href="loop/backbone.html#id1">[1]</a>, <a href="loop/backbone.html#id2">[2]</a>, <a href="loop/backbone.html#id3">[3]</a>, <a href="loop/backbone.html#promod3.loop.BackboneList.BackboneList">[4]</a>
 </li>
       <li><a href="scoring/backbone_scorers.html#promod3.scoring.BackboneOverallScorer">BackboneOverallScorer (class in promod3.scoring)</a>
 </li>
-      <li><a href="modelling/loop_closing.html#promod3.modelling.BackboneRelaxer">BackboneRelaxer (class in promod3.modelling)</a>, <a href="modelling/loop_closing.html#promod3.modelling.BackboneRelaxer">[1]</a>
+      <li><a href="modelling/loop_closing.html#id3">BackboneRelaxer (class in promod3.modelling)</a>, <a href="modelling/loop_closing.html#promod3.modelling.BackboneRelaxer">[1]</a>
 </li>
       <li><a href="scoring/backbone_score_env.html#promod3.scoring.BackboneScoreEnv">BackboneScoreEnv (class in promod3.scoring)</a>
 </li>
@@ -453,11 +496,11 @@
         <li><a href="scoring/backbone_scorers.html#promod3.scoring.BackboneScorer.CalculateScoreProfile">(promod3.scoring.BackboneScorer method)</a>
 </li>
       </ul></li>
-      <li><a href="modelling/loop_candidates.html#promod3.modelling.LoopCandidates.CalculateSequenceProfileScores">CalculateSequenceProfileScores() (promod3.modelling.LoopCandidates method)</a>, <a href="modelling/loop_candidates.html#promod3.modelling.LoopCandidates.CalculateSequenceProfileScores">[1]</a>
+      <li><a href="modelling/loop_candidates.html#id0">CalculateSequenceProfileScores() (promod3.modelling.LoopCandidates method)</a>, <a href="modelling/loop_candidates.html#promod3.modelling.LoopCandidates.CalculateSequenceProfileScores">[1]</a>
 </li>
-      <li><a href="modelling/loop_candidates.html#promod3.modelling.LoopCandidates.CalculateStemRMSDs">CalculateStemRMSDs() (promod3.modelling.LoopCandidates method)</a>, <a href="modelling/loop_candidates.html#promod3.modelling.LoopCandidates.CalculateStemRMSDs">[1]</a>
+      <li><a href="modelling/loop_candidates.html#id2">CalculateStemRMSDs() (promod3.modelling.LoopCandidates method)</a>, <a href="modelling/loop_candidates.html#promod3.modelling.LoopCandidates.CalculateStemRMSDs">[1]</a>
 </li>
-      <li><a href="modelling/loop_candidates.html#promod3.modelling.LoopCandidates.CalculateStructureProfileScores">CalculateStructureProfileScores() (promod3.modelling.LoopCandidates method)</a>, <a href="modelling/loop_candidates.html#promod3.modelling.LoopCandidates.CalculateStructureProfileScores">[1]</a>
+      <li><a href="modelling/loop_candidates.html#id1">CalculateStructureProfileScores() (promod3.modelling.LoopCandidates method)</a>, <a href="modelling/loop_candidates.html#promod3.modelling.LoopCandidates.CalculateStructureProfileScores">[1]</a>
 </li>
       <li><a href="loop/backbone.html#promod3.loop.BackboneList.CARMSD">CARMSD() (promod3.loop.BackboneList method)</a>
 </li>
@@ -467,7 +510,7 @@
 </li>
       <li><a href="modelling/loop_closing.html#promod3.modelling.CCD">CCD (class in promod3.modelling)</a>
 </li>
-      <li><a href="modelling/loop_closing.html#promod3.modelling.CCD.CCD">CCD() (promod3.modelling.CCD method)</a>, <a href="modelling/loop_closing.html#promod3.modelling.CCD.CCD">[1]</a>
+      <li><a href="modelling/loop_closing.html#id0">CCD() (promod3.modelling.CCD method)</a>, <a href="modelling/loop_closing.html#promod3.modelling.CCD.CCD">[1]</a>
 </li>
       <li><a href="modelling/monte_carlo.html#promod3.modelling.CCDCloser">CCDCloser (class in promod3.modelling)</a>
 </li>
@@ -485,7 +528,7 @@
 </li>
       <li><a href="sidechain/rotamer_lib.html#promod3.sidechain.RotamerLibEntry.chi4">chi4 (promod3.sidechain.RotamerLibEntry attribute)</a>
 </li>
-      <li><a href="modelling/algorithms.html#promod3.modelling.FSStructureServer.chunk">chunk (promod3.modelling.FSStructureServer attribute)</a>
+      <li><a href="modelling/algorithms.html#promod3.modelling.FSStructureServer.chunk">chunk (promod3.modelling.FSStructureServer property)</a>
 </li>
       <li><a href="scoring/backbone_scorers.html#promod3.scoring.ClashScorer">ClashScorer (class in promod3.scoring)</a>
 </li>
@@ -509,10 +552,10 @@
 
       <ul>
         <li><a href="modelling/monte_carlo.html#promod3.modelling.CCDCloser.Close">(promod3.modelling.CCDCloser method)</a>
-</li>
-        <li><a href="modelling/monte_carlo.html#promod3.modelling.CTerminalCloser.Close">(promod3.modelling.CTerminalCloser method)</a>
 </li>
         <li><a href="modelling/monte_carlo.html#promod3.modelling.CloserBase.Close">(promod3.modelling.CloserBase method)</a>
+</li>
+        <li><a href="modelling/monte_carlo.html#promod3.modelling.CTerminalCloser.Close">(promod3.modelling.CTerminalCloser method)</a>
 </li>
         <li><a href="modelling/monte_carlo.html#promod3.modelling.DeNovoCloser.Close">(promod3.modelling.DeNovoCloser method)</a>
 </li>
@@ -533,49 +576,61 @@
 </li>
       <li><a href="modelling/pipeline.html#promod3.modelling.CloseSmallDeletions">CloseSmallDeletions() (in module promod3.modelling)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li>
     command
 
       <ul>
         <li><a href="cmake/index.html#command:add_doc_dependency"><strong>add_doc_dependency</strong></a>
 </li>
-        <li><a href="cmake/index.html#index-0-command:add_doc_source">add_doc_source</a>, <a href="cmake/index.html#index-1-command:add_doc_source">[1]</a>, <a href="cmake/index.html#command:add_doc_source"><strong>[2]</strong></a>
+        <li><a href="cmake/index.html#command:add_doc_source"><strong>add_doc_source</strong></a>, <a href="cmake/index.html#index-0-command:add_doc_source">[1]</a>, <a href="cmake/index.html#index-1-command:add_doc_source">[2]</a>
 </li>
         <li><a href="cmake/index.html#command:convert_module_data"><strong>convert_module_data</strong></a>
 </li>
         <li><a href="cmake/index.html#command:module"><strong>module</strong></a>
 </li>
-        <li><a href="contributing.html#index-0-command:pm_action">pm_action</a>, <a href="cmake/index.html#command:pm_action"><strong>[1]</strong></a>
+        <li><a href="cmake/index.html#command:pm_action"><strong>pm_action</strong></a>, <a href="contributing.html#index-0-command:pm_action">[1]</a>
 </li>
-        <li><a href="cmake/index.html#index-0-command:promod3_unittest">promod3_unittest</a>, <a href="cmake/index.html#index-1-command:promod3_unittest">[1]</a>, <a href="cmake/index.html#command:promod3_unittest"><strong>[2]</strong></a>
+        <li><a href="cmake/index.html#command:promod3_unittest"><strong>promod3_unittest</strong></a>, <a href="cmake/index.html#index-0-command:promod3_unittest">[1]</a>, <a href="cmake/index.html#index-1-command:promod3_unittest">[2]</a>
 </li>
         <li><a href="cmake/index.html#command:pymod"><strong>pymod</strong></a>
 </li>
       </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li>
     command line option
 
       <ul>
-        <li><a href="actions/index.html#cmdoption-f">-f, --energy_function</a>
+        <li><a href="actions/index.html#cmdoption-i">--backbone-independent</a>
+</li>
+        <li><a href="actions/index.html#cmdoption-f">--energy_function</a>
+</li>
+        <li><a href="actions/index.html#cmdoption-k">--keep-sidechains</a>
+</li>
+        <li><a href="actions/index.html#cmdoption-n">--no-disulfids</a>
+</li>
+        <li><a href="actions/index.html#cmdoption-s">--no-subrotamer-optimization</a>
+</li>
+        <li><a href="actions/index.html#cmdoption-r">--rigid-rotamers</a>
 </li>
-        <li><a href="actions/index.html#cmdoption-i">-i, --backbone-independent</a>
+        <li><a href="actions/index.html#cmdoption-f">-f</a>
 </li>
-        <li><a href="actions/index.html#cmdoption-k">-k, --keep-sidechains</a>
+        <li><a href="actions/index.html#cmdoption-i">-i</a>
 </li>
-        <li><a href="actions/index.html#cmdoption-n">-n, --no-disulfids</a>
+        <li><a href="actions/index.html#cmdoption-k">-k</a>
 </li>
-        <li><a href="actions/index.html#cmdoption-r">-r, --rigid-rotamers</a>
+        <li><a href="actions/index.html#cmdoption-n">-n</a>
 </li>
-        <li><a href="actions/index.html#cmdoption-s">-s, --no-subrotamer-optimization</a>
+        <li><a href="actions/index.html#cmdoption-r">-r</a>
+</li>
+        <li><a href="actions/index.html#cmdoption-s">-s</a>
 </li>
       </ul></li>
       <li><a href="scoring/backbone_score_env.html#promod3.scoring.ConstraintFunction">ConstraintFunction (class in promod3.scoring)</a>
 </li>
       <li><a href="core/geometry.html#promod3.core.ConstructAtomPos">ConstructAtomPos() (in module promod3.core)</a>
 </li>
-      <li><a href="sidechain/rotamer_constructor.html#promod3.sidechain.RotamerConstructor.ConstructBackboneFrameResidue">ConstructBackboneFrameResidue() (promod3.sidechain.RotamerConstructor method)</a>, <a href="sidechain/rotamer_constructor.html#promod3.sidechain.RotamerConstructor.ConstructBackboneFrameResidue">[1]</a>
+      <li><a href="sidechain/rotamer_constructor.html#id3">ConstructBackboneFrameResidue() (promod3.sidechain.RotamerConstructor method)</a>, <a href="sidechain/rotamer_constructor.html#promod3.sidechain.RotamerConstructor.ConstructBackboneFrameResidue">[1]</a>
 </li>
       <li><a href="core/geometry.html#promod3.core.ConstructCBetaPos">ConstructCBetaPos() (in module promod3.core)</a>
 </li>
@@ -591,11 +646,11 @@
       </ul></li>
       <li><a href="sidechain/rotamer_constructor.html#promod3.sidechain.VINARotamerConstructor.ConstructFRMRotamerHeuristic">ConstructFRMRotamerHeuristic() (promod3.sidechain.VINARotamerConstructor method)</a>
 </li>
-      <li><a href="sidechain/rotamer_constructor.html#promod3.sidechain.RotamerConstructor.ConstructRRMRotamerGroup">ConstructRRMRotamerGroup() (promod3.sidechain.RotamerConstructor method)</a>, <a href="sidechain/rotamer_constructor.html#promod3.sidechain.RotamerConstructor.ConstructRRMRotamerGroup">[1]</a>, <a href="sidechain/rotamer_constructor.html#promod3.sidechain.RotamerConstructor.ConstructRRMRotamerGroup">[2]</a>, <a href="sidechain/rotamer_constructor.html#promod3.sidechain.RotamerConstructor.ConstructRRMRotamerGroup">[3]</a>
+      <li><a href="sidechain/rotamer_constructor.html#id0">ConstructRRMRotamerGroup() (promod3.sidechain.RotamerConstructor method)</a>, <a href="sidechain/rotamer_constructor.html#id1">[1]</a>, <a href="sidechain/rotamer_constructor.html#id2">[2]</a>, <a href="sidechain/rotamer_constructor.html#promod3.sidechain.RotamerConstructor.ConstructRRMRotamerGroup">[3]</a>
 </li>
       <li><a href="sidechain/rotamer_constructor.html#promod3.sidechain.VINARotamerConstructor.ConstructRRMRotamerHeuristic">ConstructRRMRotamerHeuristic() (promod3.sidechain.VINARotamerConstructor method)</a>
 </li>
-      <li><a href="sidechain/rotamer_constructor.html#promod3.sidechain.RotamerConstructor.ConstructSidechainFrameResidue">ConstructSidechainFrameResidue() (promod3.sidechain.RotamerConstructor method)</a>, <a href="sidechain/rotamer_constructor.html#promod3.sidechain.RotamerConstructor.ConstructSidechainFrameResidue">[1]</a>
+      <li><a href="sidechain/rotamer_constructor.html#id4">ConstructSidechainFrameResidue() (promod3.sidechain.RotamerConstructor method)</a>, <a href="sidechain/rotamer_constructor.html#promod3.sidechain.RotamerConstructor.ConstructSidechainFrameResidue">[1]</a>
 </li>
       <li><a href="scoring/backbone_score_env.html#promod3.scoring.ContactFunction">ContactFunction (class in promod3.scoring)</a>
 </li>
@@ -656,7 +711,7 @@
 <h2 id="D">D</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="modelling/algorithms.html#promod3.modelling.FSStructureServer.data">data (promod3.modelling.FSStructureServer attribute)</a>
+      <li><a href="modelling/algorithms.html#promod3.modelling.FSStructureServer.data">data (promod3.modelling.FSStructureServer property)</a>
 </li>
       <li><a href="modelling/pipeline.html#promod3.modelling.DeleteGapCols">DeleteGapCols() (in module promod3.modelling)</a>
 </li>
@@ -718,10 +773,10 @@
         <li><a href="scoring/all_atom_scorers.html#promod3.scoring.AllAtomInteractionScorer.DoNormalize">(promod3.scoring.AllAtomInteractionScorer method)</a>
 </li>
         <li><a href="scoring/all_atom_scorers.html#promod3.scoring.AllAtomPackingScorer.DoNormalize">(promod3.scoring.AllAtomPackingScorer method)</a>
-</li>
-        <li><a href="scoring/backbone_scorers.html#promod3.scoring.CBPackingScorer.DoNormalize">(promod3.scoring.CBPackingScorer method)</a>
 </li>
         <li><a href="scoring/backbone_scorers.html#promod3.scoring.CBetaScorer.DoNormalize">(promod3.scoring.CBetaScorer method)</a>
+</li>
+        <li><a href="scoring/backbone_scorers.html#promod3.scoring.CBPackingScorer.DoNormalize">(promod3.scoring.CBPackingScorer method)</a>
 </li>
         <li><a href="scoring/backbone_scorers.html#promod3.scoring.ClashScorer.DoNormalize">(promod3.scoring.ClashScorer method)</a>
 </li>
@@ -736,11 +791,11 @@
         <li><a href="scoring/backbone_scorers.html#promod3.scoring.TorsionScorer.DoNormalize">(promod3.scoring.TorsionScorer method)</a>
 </li>
       </ul></li>
-      <li><a href="loop/torsion_sampler.html#promod3.loop.TorsionSampler.Draw">Draw() (promod3.loop.TorsionSampler method)</a>, <a href="loop/torsion_sampler.html#promod3.loop.TorsionSampler.Draw">[1]</a>
+      <li><a href="loop/torsion_sampler.html#id0">Draw() (promod3.loop.TorsionSampler method)</a>, <a href="loop/torsion_sampler.html#promod3.loop.TorsionSampler.Draw">[1]</a>
 </li>
-      <li><a href="loop/torsion_sampler.html#promod3.loop.TorsionSampler.DrawPhiGivenPsi">DrawPhiGivenPsi() (promod3.loop.TorsionSampler method)</a>, <a href="loop/torsion_sampler.html#promod3.loop.TorsionSampler.DrawPhiGivenPsi">[1]</a>
+      <li><a href="loop/torsion_sampler.html#id1">DrawPhiGivenPsi() (promod3.loop.TorsionSampler method)</a>, <a href="loop/torsion_sampler.html#promod3.loop.TorsionSampler.DrawPhiGivenPsi">[1]</a>
 </li>
-      <li><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>
+      <li><a href="loop/torsion_sampler.html#id2">DrawPsiGivenPhi() (promod3.loop.TorsionSampler method)</a>, <a href="loop/torsion_sampler.html#promod3.loop.TorsionSampler.DrawPsiGivenPhi">[1]</a>
 </li>
   </ul></td>
 </tr></table>
@@ -776,7 +831,7 @@
 </li>
       <li><a href="modelling/gap_handling.html#promod3.modelling.StructuralGap.ExtendAtNTerm">ExtendAtNTerm() (promod3.modelling.StructuralGap method)</a>
 </li>
-      <li><a href="loop/all_atom.html#promod3.loop.AllAtomPositions.Extract">Extract() (promod3.loop.AllAtomPositions method)</a>, <a href="loop/all_atom.html#promod3.loop.AllAtomPositions.Extract">[1]</a>
+      <li><a href="loop/all_atom.html#id4">Extract() (promod3.loop.AllAtomPositions method)</a>, <a href="loop/all_atom.html#promod3.loop.AllAtomPositions.Extract">[1]</a>
 
       <ul>
         <li><a href="loop/backbone.html#promod3.loop.BackboneList.Extract">(promod3.loop.BackboneList method)</a>
@@ -880,7 +935,7 @@
 </li>
       <li><a href="loop/structure_db.html#promod3.loop.PsipredPrediction.FromHoriz">FromHoriz() (promod3.loop.PsipredPrediction method)</a>
 </li>
-      <li><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>
+      <li><a href="sidechain/rotamer_lib.html#id1">FromResidue() (promod3.sidechain.RotamerLibEntry static method)</a>, <a href="sidechain/rotamer_lib.html#promod3.sidechain.RotamerLibEntry.FromResidue">[1]</a>
 </li>
       <li><a href="modelling/algorithms.html#promod3.modelling.PentaMatch.FromSeqList">FromSeqList() (promod3.modelling.PentaMatch static method)</a>
 </li>
@@ -1018,7 +1073,7 @@
         <li><a href="modelling/loop_candidates.html#promod3.modelling.LoopCandidates.GetFragmentInfo">(promod3.modelling.LoopCandidates method)</a>
 </li>
       </ul></li>
-      <li><a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamer.GetFrameEnergy">GetFrameEnergy() (promod3.sidechain.FRMRotamer method)</a>, <a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamer.GetFrameEnergy">[1]</a>
+      <li><a href="sidechain/rotamer.html#id5">GetFrameEnergy() (promod3.sidechain.FRMRotamer method)</a>, <a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamer.GetFrameEnergy">[1]</a>
 
       <ul>
         <li><a href="sidechain/rotamer.html#promod3.sidechain.RRMRotamer.GetFrameEnergy">(promod3.sidechain.RRMRotamer method)</a>
@@ -1151,12 +1206,14 @@
       <li><a href="modelling/algorithms.html#promod3.modelling.FSStructureServer.GetOMF">GetOMF() (promod3.modelling.FSStructureServer method)</a>
 </li>
       <li><a href="modelling/algorithms.html#promod3.modelling.FSStructureServer.GetOMFByIdx">GetOMFByIdx() (promod3.modelling.FSStructureServer method)</a>
+</li>
+      <li><a href="modelling/algorithms.html#promod3.modelling.FSStructureServer.GetOMFByPLC">GetOMFByPLC() (promod3.modelling.FSStructureServer method)</a>
 </li>
       <li><a href="loop/mm_system_creation.html#promod3.loop.ForcefieldLookup.GetOXTIndex">GetOXTIndex() (promod3.loop.ForcefieldLookup method)</a>
 </li>
       <li><a href="loop/mm_system_creation.html#promod3.loop.ForcefieldLookup.GetPeptideBoundConnectivity">GetPeptideBoundConnectivity() (promod3.loop.ForcefieldLookup method)</a>
 </li>
-      <li><a href="loop/torsion_sampler.html#promod3.loop.TorsionSampler.GetPhiProbabilityGivenPsi">GetPhiProbabilityGivenPsi() (promod3.loop.TorsionSampler method)</a>, <a href="loop/torsion_sampler.html#promod3.loop.TorsionSampler.GetPhiProbabilityGivenPsi">[1]</a>
+      <li><a href="loop/torsion_sampler.html#id4">GetPhiProbabilityGivenPsi() (promod3.loop.TorsionSampler method)</a>, <a href="loop/torsion_sampler.html#promod3.loop.TorsionSampler.GetPhiProbabilityGivenPsi">[1]</a>
 </li>
       <li><a href="loop/all_atom.html#promod3.loop.AllAtomPositions.GetPhiTorsion">GetPhiTorsion() (promod3.loop.AllAtomPositions method)</a>
 
@@ -1176,7 +1233,7 @@
 </li>
       <li><a href="loop/structure_db.html#promod3.loop.PsipredPrediction.GetPredictions">GetPredictions() (promod3.loop.PsipredPrediction method)</a>
 </li>
-      <li><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>
+      <li><a href="loop/torsion_sampler.html#id3">GetProbability() (promod3.loop.TorsionSampler method)</a>, <a href="loop/torsion_sampler.html#promod3.loop.TorsionSampler.GetProbability">[1]</a>
 
       <ul>
         <li><a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamer.GetProbability">(promod3.sidechain.FRMRotamer method)</a>
@@ -1184,7 +1241,7 @@
         <li><a href="sidechain/rotamer.html#promod3.sidechain.RRMRotamer.GetProbability">(promod3.sidechain.RRMRotamer method)</a>
 </li>
       </ul></li>
-      <li><a href="loop/torsion_sampler.html#promod3.loop.TorsionSampler.GetPsiProbabilityGivenPhi">GetPsiProbabilityGivenPhi() (promod3.loop.TorsionSampler method)</a>, <a href="loop/torsion_sampler.html#promod3.loop.TorsionSampler.GetPsiProbabilityGivenPhi">[1]</a>
+      <li><a href="loop/torsion_sampler.html#id5">GetPsiProbabilityGivenPhi() (promod3.loop.TorsionSampler method)</a>, <a href="loop/torsion_sampler.html#promod3.loop.TorsionSampler.GetPsiProbabilityGivenPhi">[1]</a>
 </li>
       <li><a href="loop/all_atom.html#promod3.loop.AllAtomPositions.GetPsiTorsion">GetPsiTorsion() (promod3.loop.AllAtomPositions method)</a>
 
@@ -1200,7 +1257,7 @@
 </li>
       <li><a href="sidechain/rotamer_lib.html#promod3.sidechain.GetRotamericConfiguration">GetRotamericConfiguration() (in module promod3.sidechain)</a>
 </li>
-      <li><a href="loop/structure_db.html#promod3.loop.Fragger.GetScore">GetScore() (promod3.loop.Fragger method)</a>, <a href="loop/structure_db.html#promod3.loop.Fragger.GetScore">[1]</a>
+      <li><a href="loop/structure_db.html#id0">GetScore() (promod3.loop.Fragger method)</a>, <a href="loop/structure_db.html#promod3.loop.Fragger.GetScore">[1]</a>
 
       <ul>
         <li><a href="modelling/monte_carlo.html#promod3.modelling.LinearScorer.GetScore">(promod3.modelling.LinearScorer method)</a>
@@ -1262,7 +1319,7 @@
         <li><a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamer.GetTemperature">(promod3.sidechain.FRMRotamer method)</a>
 </li>
       </ul></li>
-      <li><a href="loop/backbone.html#promod3.loop.BackboneList.GetTransform">GetTransform() (promod3.loop.BackboneList method)</a>, <a href="loop/backbone.html#promod3.loop.BackboneList.GetTransform">[1]</a>
+      <li><a href="loop/backbone.html#id7">GetTransform() (promod3.loop.BackboneList method)</a>, <a href="loop/backbone.html#promod3.loop.BackboneList.GetTransform">[1]</a>
 </li>
       <li><a href="sidechain/rotamer.html#promod3.sidechain.GetVINAWeightGaussian1">GetVINAWeightGaussian1() (in module promod3.sidechain)</a>
 </li>
@@ -1356,10 +1413,10 @@
         <li><a href="loop/mm_system_creation.html#promod3.loop.ForcefieldUreyBradleyAngleInfo.index_two">(promod3.loop.ForcefieldUreyBradleyAngleInfo attribute)</a>
 </li>
       </ul></li>
-      <li><a href="modelling/algorithms.html#promod3.modelling.FSStructureServer.indexer">indexer (promod3.modelling.FSStructureServer attribute)</a>
+      <li><a href="modelling/algorithms.html#promod3.modelling.FSStructureServer.indexer">indexer (promod3.modelling.FSStructureServer property)</a>
 
       <ul>
-        <li><a href="modelling/algorithms.html#promod3.modelling.PentaMatch.indexer">(promod3.modelling.PentaMatch attribute)</a>
+        <li><a href="modelling/algorithms.html#promod3.modelling.PentaMatch.indexer">(promod3.modelling.PentaMatch property)</a>
 </li>
       </ul></li>
   </ul></td>
@@ -1377,7 +1434,7 @@
       <li><a href="loop/all_atom.html#promod3.loop.AllAtomPositions.InsertInto">InsertInto() (promod3.loop.AllAtomPositions method)</a>
 
       <ul>
-        <li><a href="loop/backbone.html#promod3.loop.BackboneList.InsertInto">(promod3.loop.BackboneList method)</a>, <a href="loop/backbone.html#promod3.loop.BackboneList.InsertInto">[1]</a>
+        <li><a href="loop/backbone.html#id4">(promod3.loop.BackboneList method)</a>, <a href="loop/backbone.html#promod3.loop.BackboneList.InsertInto">[1]</a>
 </li>
       </ul></li>
       <li><a href="modelling/pipeline.html#promod3.modelling.InsertLoop">InsertLoop() (in module promod3.modelling)</a>
@@ -1408,7 +1465,7 @@
 </li>
       <li><a href="loop/all_atom.html#promod3.loop.AllAtomPositions.IsSet">IsSet() (promod3.loop.AllAtomPositions method)</a>
 </li>
-      <li><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>
+      <li><a href="sidechain/rotamer_lib.html#id2">IsSimilar() (promod3.sidechain.RotamerLibEntry method)</a>, <a href="sidechain/rotamer_lib.html#promod3.sidechain.RotamerLibEntry.IsSimilar">[1]</a>
 </li>
       <li><a href="modelling/gap_handling.html#promod3.modelling.StructuralGap.IsTerminal">IsTerminal() (promod3.modelling.StructuralGap method)</a>
 </li>
@@ -1435,9 +1492,9 @@
       <li><a href="loop/structure_db.html#promod3.loop.FragmentInfo.length">length (promod3.loop.FragmentInfo attribute)</a>
 
       <ul>
-        <li><a href="modelling/algorithms.html#promod3.modelling.FSStructureServer.length">(promod3.modelling.FSStructureServer attribute)</a>
+        <li><a href="modelling/algorithms.html#promod3.modelling.FSStructureServer.length">(promod3.modelling.FSStructureServer property)</a>
 </li>
-        <li><a href="modelling/algorithms.html#promod3.modelling.PentaMatch.length">(promod3.modelling.PentaMatch attribute)</a>
+        <li><a href="modelling/algorithms.html#promod3.modelling.PentaMatch.length">(promod3.modelling.PentaMatch property)</a>
 </li>
         <li><a href="modelling/gap_handling.html#promod3.modelling.StructuralGap.length">(promod3.modelling.StructuralGap attribute)</a>
 </li>
@@ -1464,10 +1521,10 @@
         <li><a href="scoring/all_atom_scorers.html#promod3.scoring.AllAtomInteractionScorer.Load">(promod3.scoring.AllAtomInteractionScorer static method)</a>
 </li>
         <li><a href="scoring/all_atom_scorers.html#promod3.scoring.AllAtomPackingScorer.Load">(promod3.scoring.AllAtomPackingScorer static method)</a>
-</li>
-        <li><a href="scoring/backbone_scorers.html#promod3.scoring.CBPackingScorer.Load">(promod3.scoring.CBPackingScorer static method)</a>
 </li>
         <li><a href="scoring/backbone_scorers.html#promod3.scoring.CBetaScorer.Load">(promod3.scoring.CBetaScorer static method)</a>
+</li>
+        <li><a href="scoring/backbone_scorers.html#promod3.scoring.CBPackingScorer.Load">(promod3.scoring.CBPackingScorer static method)</a>
 </li>
         <li><a href="scoring/backbone_scorers.html#promod3.scoring.HBondScorer.Load">(promod3.scoring.HBondScorer static method)</a>
 </li>
@@ -1522,10 +1579,10 @@
         <li><a href="scoring/all_atom_scorers.html#promod3.scoring.AllAtomInteractionScorer.LoadPortable">(promod3.scoring.AllAtomInteractionScorer static method)</a>
 </li>
         <li><a href="scoring/all_atom_scorers.html#promod3.scoring.AllAtomPackingScorer.LoadPortable">(promod3.scoring.AllAtomPackingScorer static method)</a>
-</li>
-        <li><a href="scoring/backbone_scorers.html#promod3.scoring.CBPackingScorer.LoadPortable">(promod3.scoring.CBPackingScorer static method)</a>
 </li>
         <li><a href="scoring/backbone_scorers.html#promod3.scoring.CBetaScorer.LoadPortable">(promod3.scoring.CBetaScorer static method)</a>
+</li>
+        <li><a href="scoring/backbone_scorers.html#promod3.scoring.CBPackingScorer.LoadPortable">(promod3.scoring.CBPackingScorer static method)</a>
 </li>
         <li><a href="scoring/backbone_scorers.html#promod3.scoring.HBondScorer.LoadPortable">(promod3.scoring.HBondScorer static method)</a>
 </li>
@@ -1604,8 +1661,6 @@
 </li>
       <li><a href="modelling/pipeline.html#promod3.modelling.MergeGapsByDistance">MergeGapsByDistance() (in module promod3.modelling)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="modelling/pipeline.html#promod3.modelling.MergeMHandle">MergeMHandle() (in module promod3.modelling)</a>
 </li>
       <li><a href="loop/backbone.html#promod3.loop.BackboneList.MinCADistance">MinCADistance() (promod3.loop.BackboneList method)</a>
@@ -1614,6 +1669,8 @@
 </li>
       <li><a href="modelling/pipeline.html#promod3.modelling.ModellingIssue.Severity.MINOR">MINOR (promod3.modelling.ModellingIssue.Severity attribute)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="loop/mm_system_creation.html#promod3.loop.MmSystemCreator">MmSystemCreator (class in promod3.loop)</a>
 </li>
       <li><a href="modelling/pipeline.html#promod3.modelling.ModellingHandle.model">model (promod3.modelling.ModellingHandle attribute)</a>
@@ -1633,6 +1690,22 @@
 
       <ul>
         <li><a href="cmake/index.html#command:module"><strong>command</strong></a>
+</li>
+        <li><a href="core/index.html#module-promod3.core">promod3.core</a>
+</li>
+        <li><a href="core/helper.html#module-promod3.core.helper">promod3.core.helper</a>
+</li>
+        <li><a href="core/pm3argparse.html#module-promod3.core.pm3argparse">promod3.core.pm3argparse</a>
+</li>
+        <li><a href="loop/index.html#module-promod3.loop">promod3.loop</a>
+</li>
+        <li><a href="modelling/index.html#module-promod3.modelling">promod3.modelling</a>
+</li>
+        <li><a href="scoring/index.html#module-promod3.scoring">promod3.scoring</a>
+</li>
+        <li><a href="sidechain/index.html#module-promod3.sidechain">promod3.sidechain</a>
+</li>
+        <li><a href="actions/index_dev.html#module-test_actions">test_actions</a>
 </li>
       </ul></li>
       <li><a href="modelling/algorithms.html#promod3.modelling.MotifMatch">MotifMatch (class in promod3.modelling)</a>
@@ -1649,13 +1722,13 @@
 <h2 id="N">N</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="modelling/algorithms.html#promod3.modelling.PentaMatch.N">N (promod3.modelling.PentaMatch attribute)</a>
+      <li><a href="modelling/algorithms.html#promod3.modelling.PentaMatch.N">N (promod3.modelling.PentaMatch property)</a>
 </li>
       <li><a href="core/geometry.html#promod3.core.StemCoords.n_coord">n_coord (promod3.core.StemCoords attribute)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="modelling/algorithms.html#promod3.modelling.FSStructureServer.n_entries">n_entries (promod3.modelling.FSStructureServer attribute)</a>
+      <li><a href="modelling/algorithms.html#promod3.modelling.FSStructureServer.n_entries">n_entries (promod3.modelling.FSStructureServer property)</a>
 </li>
       <li><a href="core/graph_minimizer.html#promod3.core.GraphMinimizer.NaiveSolve">NaiveSolve() (promod3.core.GraphMinimizer method)</a>
 </li>
@@ -1707,7 +1780,7 @@
     pm_action
 
       <ul>
-        <li><a href="contributing.html#index-0-command:pm_action">command</a>, <a href="cmake/index.html#command:pm_action"><strong>[1]</strong></a>
+        <li><a href="cmake/index.html#command:pm_action"><strong>command</strong></a>, <a href="contributing.html#index-0-command:pm_action">[1]</a>
 </li>
       </ul></li>
       <li><a href="actions/index_dev.html#test_actions.ActionTestCase.pm_action">pm_action (test_actions.ActionTestCase attribute)</a>
@@ -1716,10 +1789,10 @@
 </li>
       <li><a href="scoring/backbone_score_env.html#promod3.scoring.BackboneScoreEnv.Pop">Pop() (promod3.scoring.BackboneScoreEnv method)</a>
 </li>
-      <li><a href="modelling/algorithms.html#promod3.modelling.FSStructureServer.pos">pos (promod3.modelling.FSStructureServer attribute)</a>
+      <li><a href="modelling/algorithms.html#promod3.modelling.FSStructureServer.pos">pos (promod3.modelling.FSStructureServer property)</a>
 
       <ul>
-        <li><a href="modelling/algorithms.html#promod3.modelling.PentaMatch.pos">(promod3.modelling.PentaMatch attribute)</a>
+        <li><a href="modelling/algorithms.html#promod3.modelling.PentaMatch.pos">(promod3.modelling.PentaMatch property)</a>
 </li>
       </ul></li>
       <li><a href="loop/structure_db.html#promod3.loop.FragDB.PrintStatistics">PrintStatistics() (promod3.loop.FragDB method)</a>
@@ -1730,31 +1803,66 @@
       </ul></li>
       <li><a href="core/runtime_profiling.html#promod3.core.StaticRuntimeProfiler.PrintSummary">PrintSummary() (promod3.core.StaticRuntimeProfiler static method)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="sidechain/rotamer_lib.html#promod3.sidechain.RotamerLibEntry.probability">probability (promod3.sidechain.RotamerLibEntry attribute)</a>
 </li>
       <li><a href="modelling/pipeline.html#promod3.modelling.ModellingHandle.profiles">profiles (promod3.modelling.ModellingHandle attribute)</a>
 </li>
-      <li><a href="core/index.html#module-promod3.core">promod3.core (module)</a>
+      <li>
+    promod3.core
+
+      <ul>
+        <li><a href="core/index.html#module-promod3.core">module</a>
 </li>
-      <li><a href="core/helper.html#module-promod3.core.helper">promod3.core.helper (module)</a>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    promod3.core.helper
+
+      <ul>
+        <li><a href="core/helper.html#module-promod3.core.helper">module</a>
 </li>
-      <li><a href="core/pm3argparse.html#module-promod3.core.pm3argparse">promod3.core.pm3argparse (module)</a>
+      </ul></li>
+      <li>
+    promod3.core.pm3argparse
+
+      <ul>
+        <li><a href="core/pm3argparse.html#module-promod3.core.pm3argparse">module</a>
 </li>
-      <li><a href="loop/index.html#module-promod3.loop">promod3.loop (module)</a>
+      </ul></li>
+      <li>
+    promod3.loop
+
+      <ul>
+        <li><a href="loop/index.html#module-promod3.loop">module</a>
 </li>
-      <li><a href="modelling/index.html#module-promod3.modelling">promod3.modelling (module)</a>
+      </ul></li>
+      <li>
+    promod3.modelling
+
+      <ul>
+        <li><a href="modelling/index.html#module-promod3.modelling">module</a>
 </li>
-      <li><a href="scoring/index.html#module-promod3.scoring">promod3.scoring (module)</a>
+      </ul></li>
+      <li>
+    promod3.scoring
+
+      <ul>
+        <li><a href="scoring/index.html#module-promod3.scoring">module</a>
 </li>
-      <li><a href="sidechain/index.html#module-promod3.sidechain">promod3.sidechain (module)</a>
+      </ul></li>
+      <li>
+    promod3.sidechain
+
+      <ul>
+        <li><a href="sidechain/index.html#module-promod3.sidechain">module</a>
 </li>
+      </ul></li>
       <li>
     promod3_unittest
 
       <ul>
-        <li><a href="cmake/index.html#index-0-command:promod3_unittest">command</a>, <a href="cmake/index.html#index-1-command:promod3_unittest">[1]</a>, <a href="cmake/index.html#command:promod3_unittest"><strong>[2]</strong></a>
+        <li><a href="cmake/index.html#command:promod3_unittest"><strong>command</strong></a>, <a href="cmake/index.html#index-0-command:promod3_unittest">[1]</a>, <a href="cmake/index.html#index-1-command:promod3_unittest">[2]</a>
 </li>
       </ul></li>
       <li><a href="modelling/monte_carlo.html#promod3.modelling.FragmentSampler.ProposeStep">ProposeStep() (promod3.modelling.FragmentSampler method)</a>
@@ -1775,7 +1883,7 @@
 </li>
       <li><a href="loop/structure_db.html#promod3.loop.PsipredPrediction">PsipredPrediction (class in promod3.loop)</a>
 </li>
-      <li><a href="loop/structure_db.html#promod3.loop.PsipredPrediction.PsipredPrediction">PsipredPrediction() (promod3.loop.PsipredPrediction method)</a>, <a href="loop/structure_db.html#promod3.loop.PsipredPrediction.PsipredPrediction">[1]</a>
+      <li><a href="loop/structure_db.html#id7">PsipredPrediction() (promod3.loop.PsipredPrediction method)</a>, <a href="loop/structure_db.html#promod3.loop.PsipredPrediction.PsipredPrediction">[1]</a>
 </li>
       <li><a href="modelling/pipeline.html#promod3.modelling.PullTerminalDeletions">PullTerminalDeletions() (in module promod3.modelling)</a>
 </li>
@@ -1852,7 +1960,7 @@
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="modelling/algorithms.html#promod3.modelling.RigidBlocks">RigidBlocks() (in module promod3.modelling)</a>, <a href="modelling/algorithms.html#promod3.modelling.RigidBlocks">[1]</a>, <a href="modelling/algorithms.html#promod3.modelling.RigidBlocks">[2]</a>
+      <li><a href="modelling/algorithms.html#id0">RigidBlocks() (in module promod3.modelling)</a>, <a href="modelling/algorithms.html#id1">[1]</a>, <a href="modelling/algorithms.html#promod3.modelling.RigidBlocks">[2]</a>
 </li>
       <li><a href="loop/backbone.html#promod3.loop.BackboneList.RMSD">RMSD() (promod3.loop.BackboneList method)</a>
 </li>
@@ -1866,7 +1974,7 @@
 </li>
       <li><a href="sidechain/rotamer_lib.html#promod3.sidechain.RotamerLib">RotamerLib (class in promod3.sidechain)</a>
 </li>
-      <li><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>
+      <li><a href="sidechain/rotamer_lib.html#id0">RotamerLibEntry (class in promod3.sidechain)</a>, <a href="sidechain/rotamer_lib.html#promod3.sidechain.RotamerLibEntry">[1]</a>
 </li>
       <li><a href="loop/backbone.html#promod3.loop.BackboneList.RotateAroundOmegaTorsion">RotateAroundOmegaTorsion() (promod3.loop.BackboneList method)</a>
 </li>
@@ -1876,7 +1984,7 @@
 </li>
       <li><a href="loop/backbone.html#promod3.loop.BackboneList.RotateAroundPsiTorsion">RotateAroundPsiTorsion() (promod3.loop.BackboneList method)</a>
 </li>
-      <li><a href="core/geometry.html#promod3.core.RotationAroundLine">RotationAroundLine() (in module promod3.core)</a>, <a href="core/geometry.html#promod3.core.RotationAroundLine">[1]</a>
+      <li><a href="core/geometry.html#id0">RotationAroundLine() (in module promod3.core)</a>, <a href="core/geometry.html#promod3.core.RotationAroundLine">[1]</a>
 </li>
       <li><a href="sidechain/rotamer.html#promod3.sidechain.RRMRotamer">RRMRotamer (class in promod3.sidechain)</a>
 </li>
@@ -1922,10 +2030,10 @@
         <li><a href="scoring/all_atom_scorers.html#promod3.scoring.AllAtomInteractionScorer.Save">(promod3.scoring.AllAtomInteractionScorer method)</a>
 </li>
         <li><a href="scoring/all_atom_scorers.html#promod3.scoring.AllAtomPackingScorer.Save">(promod3.scoring.AllAtomPackingScorer method)</a>
-</li>
-        <li><a href="scoring/backbone_scorers.html#promod3.scoring.CBPackingScorer.Save">(promod3.scoring.CBPackingScorer method)</a>
 </li>
         <li><a href="scoring/backbone_scorers.html#promod3.scoring.CBetaScorer.Save">(promod3.scoring.CBetaScorer method)</a>
+</li>
+        <li><a href="scoring/backbone_scorers.html#promod3.scoring.CBPackingScorer.Save">(promod3.scoring.CBPackingScorer method)</a>
 </li>
         <li><a href="scoring/backbone_scorers.html#promod3.scoring.HBondScorer.Save">(promod3.scoring.HBondScorer method)</a>
 </li>
@@ -1956,10 +2064,10 @@
         <li><a href="scoring/all_atom_scorers.html#promod3.scoring.AllAtomInteractionScorer.SavePortable">(promod3.scoring.AllAtomInteractionScorer method)</a>
 </li>
         <li><a href="scoring/all_atom_scorers.html#promod3.scoring.AllAtomPackingScorer.SavePortable">(promod3.scoring.AllAtomPackingScorer method)</a>
-</li>
-        <li><a href="scoring/backbone_scorers.html#promod3.scoring.CBPackingScorer.SavePortable">(promod3.scoring.CBPackingScorer method)</a>
 </li>
         <li><a href="scoring/backbone_scorers.html#promod3.scoring.CBetaScorer.SavePortable">(promod3.scoring.CBetaScorer method)</a>
+</li>
+        <li><a href="scoring/backbone_scorers.html#promod3.scoring.CBPackingScorer.SavePortable">(promod3.scoring.CBPackingScorer method)</a>
 </li>
         <li><a href="scoring/backbone_scorers.html#promod3.scoring.HBondScorer.SavePortable">(promod3.scoring.HBondScorer method)</a>
 </li>
@@ -1994,7 +2102,7 @@
 </li>
       <li><a href="sidechain/rotamer_constructor.html#promod3.sidechain.SCWRL4RotamerConstructor">SCWRL4RotamerConstructor (class in promod3.sidechain)</a>
 </li>
-      <li><a href="modelling/algorithms.html#promod3.modelling.FSStructureServer.search_keys">search_keys (promod3.modelling.FSStructureServer attribute)</a>
+      <li><a href="modelling/algorithms.html#promod3.modelling.FSStructureServer.search_keys">search_keys (promod3.modelling.FSStructureServer property)</a>
 </li>
       <li><a href="loop/structure_db.html#promod3.loop.FragDB.SearchDB">SearchDB() (promod3.loop.FragDB method)</a>
 </li>
@@ -2024,7 +2132,7 @@
 </li>
       <li><a href="modelling/loop_candidates.html#promod3.modelling.ScoringWeights.SetBackboneScoringKeys">SetBackboneScoringKeys() (promod3.modelling.ScoringWeights static method)</a>
 </li>
-      <li><a href="loop/backbone.html#promod3.loop.BackboneList.SetBackrub">SetBackrub() (promod3.loop.BackboneList method)</a>, <a href="loop/backbone.html#promod3.loop.BackboneList.SetBackrub">[1]</a>
+      <li><a href="loop/backbone.html#id9">SetBackrub() (promod3.loop.BackboneList method)</a>, <a href="loop/backbone.html#promod3.loop.BackboneList.SetBackrub">[1]</a>
 </li>
       <li><a href="loop/backbone.html#promod3.loop.BackboneList.SetC">SetC() (promod3.loop.BackboneList method)</a>
 </li>
@@ -2046,10 +2154,10 @@
 
       <ul>
         <li><a href="scoring/all_atom_scorers.html#promod3.scoring.AllAtomPackingScorer.SetEnergy">(promod3.scoring.AllAtomPackingScorer method)</a>
-</li>
-        <li><a href="scoring/backbone_scorers.html#promod3.scoring.CBPackingScorer.SetEnergy">(promod3.scoring.CBPackingScorer method)</a>
 </li>
         <li><a href="scoring/backbone_scorers.html#promod3.scoring.CBetaScorer.SetEnergy">(promod3.scoring.CBetaScorer method)</a>
+</li>
+        <li><a href="scoring/backbone_scorers.html#promod3.scoring.CBPackingScorer.SetEnergy">(promod3.scoring.CBPackingScorer method)</a>
 </li>
         <li><a href="scoring/backbone_scorers.html#promod3.scoring.HBondScorer.SetEnergy">(promod3.scoring.HBondScorer method)</a>
 </li>
@@ -2070,7 +2178,7 @@
 </li>
       <li><a href="modelling/pipeline.html#promod3.modelling.SetFraggerHandles">SetFraggerHandles() (in module promod3.modelling)</a>
 </li>
-      <li><a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamer.SetFrameEnergy">SetFrameEnergy() (promod3.sidechain.FRMRotamer method)</a>, <a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamer.SetFrameEnergy">[1]</a>
+      <li><a href="sidechain/rotamer.html#id6">SetFrameEnergy() (promod3.sidechain.FRMRotamer method)</a>, <a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamer.SetFrameEnergy">[1]</a>
 
       <ul>
         <li><a href="sidechain/rotamer.html#promod3.sidechain.FRMRotamerGroup.SetFrameEnergy">(promod3.sidechain.FRMRotamerGroup method)</a>
@@ -2130,7 +2238,7 @@
 </li>
       <li><a href="modelling/pipeline.html#promod3.modelling.SetPsipredPredictions">SetPsipredPredictions() (in module promod3.modelling)</a>
 </li>
-      <li><a href="loop/all_atom.html#promod3.loop.AllAtomPositions.SetResidue">SetResidue() (promod3.loop.AllAtomPositions method)</a>, <a href="loop/all_atom.html#promod3.loop.AllAtomPositions.SetResidue">[1]</a>
+      <li><a href="loop/all_atom.html#id3">SetResidue() (promod3.loop.AllAtomPositions method)</a>, <a href="loop/all_atom.html#promod3.loop.AllAtomPositions.SetResidue">[1]</a>
 </li>
       <li><a href="scoring/backbone_scorers.html#promod3.scoring.SSAgreementScorer.SetScore">SetScore() (promod3.scoring.SSAgreementScorer method)</a>
 </li>
@@ -2192,7 +2300,7 @@
 </li>
       <li><a href="loop/mm_system_creation.html#promod3.loop.ForcefieldLJPairInfo.sigma">sigma (promod3.loop.ForcefieldLJPairInfo attribute)</a>
 </li>
-      <li><a href="sidechain/rotamer_lib.html#promod3.sidechain.RotamerLibEntry.SimilarDihedral">SimilarDihedral() (promod3.sidechain.RotamerLibEntry method)</a>, <a href="sidechain/rotamer_lib.html#promod3.sidechain.RotamerLibEntry.SimilarDihedral">[1]</a>
+      <li><a href="sidechain/rotamer_lib.html#id3">SimilarDihedral() (promod3.sidechain.RotamerLibEntry method)</a>, <a href="sidechain/rotamer_lib.html#promod3.sidechain.RotamerLibEntry.SimilarDihedral">[1]</a>
 </li>
       <li><a href="loop/structure_db.html#promod3.loop.CoordInfo.size">size (promod3.loop.CoordInfo attribute)</a>
 </li>
@@ -2234,8 +2342,13 @@
 <h2 id="T">T</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="actions/index_dev.html#module-test_actions">test_actions (module)</a>
+      <li>
+    test_actions
+
+      <ul>
+        <li><a href="actions/index_dev.html#module-test_actions">module</a>
 </li>
+      </ul></li>
       <li><a href="actions/index_dev.html#test_actions.ActionTestCase.testPMExists">testPMExists() (test_actions.ActionTestCase method)</a>
 </li>
       <li><a href="modelling/pipeline.html#promod3.modelling.ModellingIssue.text">text (promod3.modelling.ModellingIssue attribute)</a>
@@ -2306,6 +2419,7 @@
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -2338,27 +2452,33 @@
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
     </div>
 
diff --git a/doc/html/gettingstarted.html b/doc/html/gettingstarted.html
index a455d5e897e54d971fdc8d4a5a1d2d812b12c3f6..8581b0c0ae1643f8c8fbe23aacd56a804696ebe4 100644
--- a/doc/html/gettingstarted.html
+++ b/doc/html/gettingstarted.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Getting Started &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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>
-    <script type="text/javascript" src="_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Getting Started &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
+    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+    <script src="_static/jquery.js"></script>
+    <script src="_static/underscore.js"></script>
+    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="_static/doctools.js"></script>
+    <script src="_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="next" title="ProMod3 Actions" href="actions/index.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,40 +31,38 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="getting-started">
-<h1>Getting Started<a class="headerlink" href="#getting-started" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="get-and-run-project">
-<h2>Get and Run ProMod3<a class="headerlink" href="#get-and-run-project" title="Permalink to this headline">¶</a></h2>
+  <section id="getting-started">
+<h1>Getting Started<a class="headerlink" href="#getting-started" title="Permalink to this heading">¶</a></h1>
+<section id="get-and-run-project">
+<h2>Get and Run ProMod3<a class="headerlink" href="#get-and-run-project" title="Permalink to this heading">¶</a></h2>
 <p>Either utilize <a class="reference internal" href="container/index.html#container"><span class="std std-ref">containers</span></a> or start from source code:</p>
 <ol class="arabic">
-<li><p class="first">Fetch the source code from <a class="reference external" href="https://git.scicore.unibas.ch/schwede/ProMod3.git">https://git.scicore.unibas.ch/schwede/ProMod3.git</a>.
+<li><p>Fetch the source code from <a class="reference external" href="https://git.scicore.unibas.ch/schwede/ProMod3.git">https://git.scicore.unibas.ch/schwede/ProMod3.git</a>.
 Or directly pull it with git:</p>
-<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> git clone https://git.scicore.unibas.ch/schwede/ProMod3.git &lt;DIR&gt;
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>git<span class="w"> </span>clone<span class="w"> </span>https://git.scicore.unibas.ch/schwede/ProMod3.git<span class="w"> </span>&lt;DIR&gt;
 </pre></div>
 </div>
 </li>
-<li><p class="first">Obtain all dependencies and compile ProMod3 with <code class="docutils literal notranslate"><span class="pre">cmake</span></code> and <code class="docutils literal notranslate"><span class="pre">make</span></code>
-(see <a class="reference internal" href="buildsystem.html#building-promod"><span class="std std-ref">here</span></a>).</p>
-</li>
-<li><p class="first">Ensure that you have a <code class="docutils literal notranslate"><span class="pre">stage/bin</span></code> folder which includes a <code class="docutils literal notranslate"><span class="pre">pm</span></code> executable.
-For convenience, add the folder to your <code class="docutils literal notranslate"><span class="pre">PATH</span></code> env. variable.</p>
-</li>
-<li><p class="first">You can now execute ProMod3 by running the following in your terminal:</p>
-</li>
+<li><p>Obtain all dependencies and compile ProMod3 with <code class="docutils literal notranslate"><span class="pre">cmake</span></code> and <code class="docutils literal notranslate"><span class="pre">make</span></code>
+(see <a class="reference internal" href="buildsystem.html#building-promod"><span class="std std-ref">here</span></a>).</p></li>
+<li><p>Ensure that you have a <code class="docutils literal notranslate"><span class="pre">stage/bin</span></code> folder which includes a <code class="docutils literal notranslate"><span class="pre">pm</span></code> executable.
+For convenience, add the folder to your <code class="docutils literal notranslate"><span class="pre">PATH</span></code> env. variable.</p></li>
+<li><p>You can now execute ProMod3 by running the following in your terminal:</p></li>
 </ol>
 <blockquote>
-<div><div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> pm &lt;COMMAND&gt;
+<div><div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>pm<span class="w"> </span>&lt;COMMAND&gt;
 </pre></div>
 </div>
 <p>Here <code class="docutils literal notranslate"><span class="pre">&lt;COMMAND&gt;</span></code> can be:</p>
 <ul>
-<li><p class="first">a predefined “action” (see <a class="reference internal" href="actions/index.html#promod-actions"><span class="std std-ref">here</span></a>)</p>
-</li>
-<li><p class="first">the path to a python script, such as the following example:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">loop</span>
+<li><p>a predefined “action” (see <a class="reference internal" href="actions/index.html#promod-actions"><span class="std std-ref">here</span></a>)</p></li>
+<li><p>the path to a python script, such as the following example:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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">loop</span>
 
 <span class="c1"># generate backbone with dihedrals of a helix and store it</span>
 <span class="n">sequence</span> <span class="o">=</span> <span class="s2">&quot;HELLYEAH&quot;</span>
@@ -76,19 +75,19 @@ can visualize with any pdb reader (e.g. <code class="docutils literal notranslat
 </li>
 </ul>
 </div></blockquote>
-</div>
-<div class="section" id="modelling-pipeline">
-<h2>Modelling pipeline<a class="headerlink" href="#modelling-pipeline" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="modelling-pipeline">
+<h2>Modelling pipeline<a class="headerlink" href="#modelling-pipeline" title="Permalink to this heading">¶</a></h2>
 <p>ProMod3 is meant to help you perform operations for protein homology modelling.
 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 a template by copying the part of the template which
-is conserved</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 Handling"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code></a> module)</li>
-<li>Reconstruct sidechains (using <a class="reference internal" href="sidechain/index.html#module-promod3.sidechain" title="promod3.sidechain: Sidechain Modelling"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code></a> module)</li>
-<li>Minimize energy of final model using molecular mechanics
-(using <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/molmm/#module-ost.mol.mm" title="(in OpenStructure v2.4.0)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ost.mol.mm</span></code></a> from OST)</li>
+<li><p>Build a raw model from a template by copying the part of the template which
+is conserved</p></li>
+<li><p>Perform loop modelling to close all gaps (see <a class="reference internal" href="loop/index.html#module-promod3.loop" title="promod3.loop: Loop Handling"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code></a> module)</p></li>
+<li><p>Reconstruct sidechains (using <a class="reference internal" href="sidechain/index.html#module-promod3.sidechain" title="promod3.sidechain: Sidechain Modelling"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code></a> module)</p></li>
+<li><p>Minimize energy of final model using molecular mechanics
+(using <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/molmm/#module-ost.mol.mm" title="(in OpenStructure v2.9.2)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ost.mol.mm</span></code></a> from OST)</p></li>
 </ul>
 <p>Since a good amount of time is spent in OpenMM routines to minimize energy, we
 try to use the fast and multi-threaded “CPU” platform of OpenMM (should be
@@ -97,11 +96,12 @@ not available, we use the slower “Reference” platform. For the “CPU” pla
 multiple CPU threads can be used by setting the env. variable
 <code class="docutils literal notranslate"><span class="pre">PM3_OPENMM_CPU_THREADS</span></code> to the number of desired threads. If the variable is
 not set, 1 thread will be used by default.</p>
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -122,12 +122,12 @@ not set, 1 thread will be used by default.</p>
 <li class="toctree-l2"><a class="reference internal" href="actions/index.html">ProMod3 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="container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -151,27 +151,33 @@ not set, 1 thread will be used by default.</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="_sources/gettingstarted.rst.txt"
diff --git a/doc/html/index.html b/doc/html/index.html
index ebc11c4440487811a4ecf3de9ec53fbcb4b67911..f2f923166ec7497526f4186260f2345280885eb9 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -1,26 +1,27 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>ProMod3 &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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>
-    <script type="text/javascript" src="_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>ProMod3 &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
+    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+    <script src="_static/jquery.js"></script>
+    <script src="_static/underscore.js"></script>
+    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="_static/doctools.js"></script>
+    <script src="_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="next" title="Documentation For Users" href="users.html" />
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -29,19 +30,21 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="promod3">
-<h1>ProMod3<a class="headerlink" href="#promod3" title="Permalink to this headline">¶</a></h1>
-<p>ProMod3 is a modelling engine based on the <a class="reference external" href="https://openstructure.org">OpenStructure</a> <a class="reference internal" href="references.html#biasini2013" id="id1">[biasini2013]</a>
+  <section id="promod3">
+<h1>ProMod3<a class="headerlink" href="#promod3" title="Permalink to this heading">¶</a></h1>
+<p>ProMod3 is a modelling engine based on the <a class="reference external" href="https://openstructure.org">OpenStructure</a> <a class="reference internal" href="references.html#biasini2013" id="id1"><span>[biasini2013]</span></a>
 computational structural biology framework that can perform all steps required
 to generate a protein model by homology. Its modular design aims at
 implementing flexible modelling pipelines and fast prototyping of novel
 algorithms.</p>
 <p>The source code can be found here: <a class="reference external" href="https://git.scicore.unibas.ch/schwede/ProMod3">https://git.scicore.unibas.ch/schwede/ProMod3</a></p>
-</div>
-<div class="section" id="documentation">
-<h1>Documentation<a class="headerlink" href="#documentation" title="Permalink to this headline">¶</a></h1>
+</section>
+<section id="documentation">
+<h1>Documentation<a class="headerlink" href="#documentation" title="Permalink to this heading">¶</a></h1>
 <div class="toctree-wrapper compound">
 <ul>
 <li class="toctree-l1"><a class="reference internal" href="users.html">Users</a><ul>
@@ -49,12 +52,12 @@ algorithms.</p>
 <li class="toctree-l2"><a class="reference internal" href="actions/index.html">ProMod3 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="container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -68,10 +71,11 @@ algorithms.</p>
 <li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
 </ul>
 </div>
-</div>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -105,27 +109,33 @@ algorithms.</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="_sources/index.rst.txt"
diff --git a/doc/html/license.html b/doc/html/license.html
index 76c882cece963a333ef32cf56f0a5d504d8666a7..caecc82469ae3a0a4933007a01a3a0330c5b2397 100644
--- a/doc/html/license.html
+++ b/doc/html/license.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>License &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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>
-    <script type="text/javascript" src="_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>License &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
+    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+    <script src="_static/jquery.js"></script>
+    <script src="_static/underscore.js"></script>
+    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="_static/doctools.js"></script>
+    <script src="_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="next" title="References" href="references.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,10 +31,12 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="license">
-<h1>License<a class="headerlink" href="#license" title="Permalink to this headline">¶</a></h1>
+  <section id="license">
+<h1>License<a class="headerlink" href="#license" title="Permalink to this heading">¶</a></h1>
 <div class="highlight-default notranslate"><div class="highlight"><pre><span></span>
                                  Apache License
                            Version 2.0, January 2004
@@ -246,10 +249,11 @@ ProMod3 bundles the file &quot;cmake.py&quot;, which is available under a
 doc/Copyright_cmake.py.txt
 </pre></div>
 </div>
-</div>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -284,27 +288,33 @@ doc/Copyright_cmake.py.txt
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="_sources/license.rst.txt"
diff --git a/doc/html/loop/all_atom.html b/doc/html/loop/all_atom.html
index 50e1ea3a5beab8f8b74aefbf9e69c7e86fda63ef..3f79959bdb3ce4367435da6a9d4fc0a4ab98776f 100644
--- a/doc/html/loop/all_atom.html
+++ b/doc/html/loop/all_atom.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Handling All Atom Positions &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Handling All Atom Positions &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Generate ost.mol.mm systems" href="mm_system_creation.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,17 +31,19 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="handling-all-atom-positions">
-<h1>Handling All Atom Positions<a class="headerlink" href="#handling-all-atom-positions" title="Permalink to this headline">¶</a></h1>
+  <section id="handling-all-atom-positions">
+<h1>Handling All Atom Positions<a class="headerlink" href="#handling-all-atom-positions" title="Permalink to this heading">¶</a></h1>
 <p>To represent and handle all atom loops, we provide a container
 (<a class="reference internal" href="#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) to represent arbitrary amino acid sequences with the
 positions of all their heavy atoms and an environment (<a class="reference internal" href="#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a>) to
 handle changes during loop modelling.</p>
 <p>The example below showcases some operations on the two classes:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span><span class="p">,</span> <span class="n">geom</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">loop</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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">geom</span>
+<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">loop</span>
 
 <span class="c1"># load example (has res. numbering starting at 1)</span>
 <span class="n">ent</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="s2">&quot;data/1CRN.pdb&quot;</span><span class="p">)</span>
@@ -67,847 +70,756 @@ handle changes during loop modelling.</p>
 <span class="n">io</span><span class="o">.</span><span class="n">SavePDB</span><span class="p">(</span><span class="n">env</span><span class="o">.</span><span class="n">GetAllAtomPositions</span><span class="p">()</span><span class="o">.</span><span class="n">ToEntity</span><span class="p">(),</span> <span class="s2">&quot;all_atom_env.pdb&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="section" id="the-allatomenv-class">
-<h2>The AllAtomEnv class<a class="headerlink" href="#the-allatomenv-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.loop.AllAtomEnv">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">AllAtomEnv</code><span class="sig-paren">(</span><em>seqres</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomEnv" title="Permalink to this definition">¶</a></dt>
+<section id="the-allatomenv-class">
+<h2>The AllAtomEnv class<a class="headerlink" href="#the-allatomenv-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomEnv">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">AllAtomEnv</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">seqres</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomEnv" title="Permalink to this definition">¶</a></dt>
 <dd><p>The all atom environment contains and handles positions of all atoms during
 loop modelling. It is linked to a (list of) seqres (one per chain) at
 construction. The idea is to initialize it at the beginning of the modelling
 process with all known positions and then update the environment whenever a
 new loop 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">Parameters:</th><td class="field-body"><strong>seqres</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceHandle</span></code></a> /
-<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.SequenceList" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceList</span></code></a>) – Internal SEQRES to be set (single chain or list with one per
-chain). Whenever setting structural data, consistency with this SEQRES is enforced.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>seqres</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> / <a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceHandle</span></code></a> /
+<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> / <a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.SequenceList" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceList</span></code></a>) – Internal SEQRES to be set (single chain or list with one per
+chain). Whenever setting structural data, consistency with this SEQRES is enforced.</p>
+</dd>
+</dl>
 <p>Indexing to access parts of the environment:</p>
 <ul class="simple">
-<li><em>chain_idx</em>: Index of chain as it occurs in <em>seqres</em> (0 for single sequence)</li>
-<li><em>start_resnum</em>: Residue number defining the position in the SEQRES of chain
+<li><p><em>chain_idx</em>: Index of chain as it occurs in <em>seqres</em> (0 for single sequence)</p></li>
+<li><p><em>start_resnum</em>: Residue number defining the position in the SEQRES of chain
 with index <em>chain_idx</em>. <strong>The numbering starts for every chain with the
-value 1</strong>.</li>
-<li>internal residue indexing: all residues of all chains are simply
-concatenated one after each other (indexing starts at 0)</li>
+value 1</strong>.</p></li>
+<li><p>internal residue indexing: all residues of all chains are simply
+concatenated one after each other (indexing starts at 0)</p></li>
 </ul>
-<dl class="method">
-<dt id="promod3.loop.AllAtomEnv.SetInitialEnvironment">
-<code class="descname">SetInitialEnvironment</code><span class="sig-paren">(</span><em>env_structure</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomEnv.SetInitialEnvironment" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomEnv.SetInitialEnvironment">
+<span class="sig-name descname"><span class="pre">SetInitialEnvironment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">env_structure</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomEnv.SetInitialEnvironment" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sets full environment. Existing data is cleared first.</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>env_structure</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityHandle</span></code></a>) – Structral data to be set as environment. The chains
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>env_structure</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityHandle</span></code></a>) – Structral data to be set as environment. The chains
 in <em>env_structure</em> are expected to be in the same
-order as the SEQRES items provided in constructor.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>env</em> is inconsistent with
+order as the SEQRES items provided in constructor.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>env</em> is inconsistent with
 SEQRES set in constructor. This can be because of corrupt residue
-numbers or sequence mismatches.</td>
-</tr>
-</tbody>
-</table>
+numbers or sequence mismatches.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomEnv.SetEnvironment">
-<code class="descname">SetEnvironment</code><span class="sig-paren">(</span><em>new_env_pos</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomEnv.SetEnvironment" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">SetEnvironment</code><span class="sig-paren">(</span><em>new_pos</em>, <em>start_resnum</em>, <em>chain_idx=0</em><span class="sig-paren">)</span></dt>
-<dt>
-<code class="descname">SetEnvironment</code><span class="sig-paren">(</span><em>bb_list</em>, <em>start_resnum</em>, <em>chain_idx=0</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomEnv.SetEnvironment">
+<span class="sig-name descname"><span class="pre">SetEnvironment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">new_env_pos</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomEnv.SetEnvironment" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">SetEnvironment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">new_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">SetEnvironment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bb_list</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span></dt>
 <dd><p>Add/update atom positions in environment. In the end, all residues covered
 in <em>new_env_pos</em> / <em>new_pos</em> / <em>bb_list</em> will be set as defined there. This
 means, that positions in the env. may be reset, newly set or cleared.</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>new_env_pos</strong> (<a class="reference internal" href="#promod3.loop.AllAtomEnvPositions" title="promod3.loop.AllAtomEnvPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnvPositions</span></code></a>) – Structural data to be set as environment.</li>
-<li><strong>new_pos</strong> (<a class="reference internal" href="#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Structural data to be set as environment.</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 notranslate"><span class="pre">BackboneList</span></code></a>) – Backbone data to be set as environment.</li>
-<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResNum" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResNum</span></code></a>) – Res. number defining the start position in the SEQRES.</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the structural data belongs to.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>new_env_pos</strong> (<a class="reference internal" href="#promod3.loop.AllAtomEnvPositions" title="promod3.loop.AllAtomEnvPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnvPositions</span></code></a>) – Structural data to be set as environment.</p></li>
+<li><p><strong>new_pos</strong> (<a class="reference internal" href="#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Structural data to be set as environment.</p></li>
+<li><p><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 notranslate"><span class="pre">BackboneList</span></code></a>) – Backbone data to be set as environment.</p></li>
+<li><p><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResNum" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResNum</span></code></a>) – Res. number defining the start position in the SEQRES.</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the structural data belongs to.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>new_pos</em> / <em>new_env_pos</em> /
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>new_pos</em> / <em>new_env_pos</em> /
 <em>bb_list</em> is inconsistent with SEQRES set in constructor or when
 either <em>start_resnum</em> or <em>chain_idx</em> point to invalid positions in
 the SEQRES.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomEnv.ClearEnvironment">
-<code class="descname">ClearEnvironment</code><span class="sig-paren">(</span><em>start_resnum</em>, <em>num_residues</em>, <em>chain_idx=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomEnv.ClearEnvironment" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomEnv.ClearEnvironment">
+<span class="sig-name descname"><span class="pre">ClearEnvironment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_residues</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomEnv.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_idx</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of stretch to clear</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Chain the stretch belongs to</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Start of stretch to clear</p></li>
+<li><p><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of stretch to clear</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Chain the stretch belongs to</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> when either <em>start_resnum</em> or
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> when either <em>start_resnum</em> or
 <em>chain_idx</em> point to invalid positions in the SEQRES.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomEnv.GetEnvironment">
-<code class="descname">GetEnvironment</code><span class="sig-paren">(</span><em>start_resnum</em>, <em>num_residues</em>, <em>chain_idx=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomEnv.GetEnvironment" 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"><p class="first">Copy of stretch of structural data in environment. Useful to store
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomEnv.GetEnvironment">
+<span class="sig-name descname"><span class="pre">GetEnvironment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_residues</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomEnv.GetEnvironment" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Copy of stretch of structural data in environment. Useful to store
 a loop to reset later with <a class="reference internal" href="#promod3.loop.AllAtomEnv.SetEnvironment" title="promod3.loop.AllAtomEnv.SetEnvironment"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetEnvironment()</span></code></a>.</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="#promod3.loop.AllAtomEnvPositions" title="promod3.loop.AllAtomEnvPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnvPositions</span></code></a></p>
-</td>
-</tr>
-<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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Start of stretch to store</li>
-<li><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of stretch to store</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Chain the stretch belongs to</li>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.loop.AllAtomEnvPositions" title="promod3.loop.AllAtomEnvPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnvPositions</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Start of stretch to store</p></li>
+<li><p><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of stretch to store</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Chain the stretch belongs to</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> when either <em>start_resnum</em> or
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> when either <em>start_resnum</em> or
 <em>chain_idx</em> point to invalid positions in the SEQRES.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomEnv.GetSeqres">
-<code class="descname">GetSeqres</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomEnv.GetSeqres" 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">SEQRES that was set in constructor (one sequence per chain).</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.SequenceList" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceList</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomEnv.GetSeqres">
+<span class="sig-name descname"><span class="pre">GetSeqres</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomEnv.GetSeqres" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>SEQRES that was set in constructor (one sequence per chain).</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.SequenceList" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceList</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomEnv.GetAllAtomPositions">
-<code class="descname">GetAllAtomPositions</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomEnv.GetAllAtomPositions" 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">Reference (use with caution!) to the internal storage of all atom
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomEnv.GetAllAtomPositions">
+<span class="sig-name descname"><span class="pre">GetAllAtomPositions</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomEnv.GetAllAtomPositions" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Reference (use with caution!) to the internal storage of all atom
 positions for the environment. All residues of all chains are
 stored continuously in there. To get a copy of some positions use
-<a class="reference internal" href="#promod3.loop.AllAtomEnv.GetEnvironment" title="promod3.loop.AllAtomEnv.GetEnvironment"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetEnvironment()</span></code></a>.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<a class="reference internal" href="#promod3.loop.AllAtomEnv.GetEnvironment" title="promod3.loop.AllAtomEnv.GetEnvironment"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetEnvironment()</span></code></a>.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="the-allatompositions-class">
-<h2>The AllAtomPositions class<a class="headerlink" href="#the-allatompositions-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.loop.AllAtomPositions">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">AllAtomPositions</code><a class="headerlink" href="#promod3.loop.AllAtomPositions" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="the-allatompositions-class">
+<h2>The AllAtomPositions class<a class="headerlink" href="#the-allatompositions-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">AllAtomPositions</span></span><a class="headerlink" href="#promod3.loop.AllAtomPositions" title="Permalink to this definition">¶</a></dt>
 <dd><p>Container for the positions of all heavy atoms of an arbitrary amino acid sequence. This is tailored for fast operations within C++ codes. The Python export described here, is mainly meant for debugging or to initialize the object and feed it to other classes using it.</p>
 <p>Indexing of positions and residues:</p>
 <ul class="simple">
-<li>residue indexing is in the range [0, <a class="reference internal" href="#promod3.loop.AllAtomPositions.GetNumResidues" title="promod3.loop.AllAtomPositions.GetNumResidues"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumResidues()</span></code></a>-1] and is in the
-order of the sequence used to initialize the object</li>
-<li>indexing of single atoms is in the range [0, <a class="reference internal" href="#promod3.loop.AllAtomPositions.GetNumAtoms" title="promod3.loop.AllAtomPositions.GetNumAtoms"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumAtoms()</span></code></a>-1]. For
+<li><p>residue indexing is in the range [0, <a class="reference internal" href="#promod3.loop.AllAtomPositions.GetNumResidues" title="promod3.loop.AllAtomPositions.GetNumResidues"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumResidues()</span></code></a>-1] and is in the
+order of the sequence used to initialize the object</p></li>
+<li><p>indexing of single atoms is in the range [0, <a class="reference internal" href="#promod3.loop.AllAtomPositions.GetNumAtoms" title="promod3.loop.AllAtomPositions.GetNumAtoms"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumAtoms()</span></code></a>-1]. For
 each residue you can find the bounds with <a class="reference internal" href="#promod3.loop.AllAtomPositions.GetFirstIndex" title="promod3.loop.AllAtomPositions.GetFirstIndex"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetFirstIndex()</span></code></a> and
-<a class="reference internal" href="#promod3.loop.AllAtomPositions.GetLastIndex" title="promod3.loop.AllAtomPositions.GetLastIndex"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetLastIndex()</span></code></a> or find a single atom with <a class="reference internal" href="#promod3.loop.AllAtomPositions.GetIndex" title="promod3.loop.AllAtomPositions.GetIndex"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetIndex()</span></code></a></li>
+<a class="reference internal" href="#promod3.loop.AllAtomPositions.GetLastIndex" title="promod3.loop.AllAtomPositions.GetLastIndex"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetLastIndex()</span></code></a> or find a single atom with <a class="reference internal" href="#promod3.loop.AllAtomPositions.GetIndex" title="promod3.loop.AllAtomPositions.GetIndex"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetIndex()</span></code></a></p></li>
 </ul>
 <p>Each atom position is initially unset (unless a list of residues is passed
 when constructing it) and can only be set with calls to <a class="reference internal" href="#promod3.loop.AllAtomPositions.SetPos" title="promod3.loop.AllAtomPositions.SetPos"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetPos()</span></code></a> or
-<a class="reference internal" href="#promod3.loop.AllAtomPositions.SetResidue" title="promod3.loop.AllAtomPositions.SetResidue"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetResidue()</span></code></a>.</p>
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.AllAtomPositions">
-<code class="descname">AllAtomPositions</code><span class="sig-paren">(</span><em>sequence</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.AllAtomPositions" title="Permalink to this definition">¶</a></dt>
+<a class="reference internal" href="#id3" title="promod3.loop.AllAtomPositions.SetResidue"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetResidue()</span></code></a>.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.AllAtomPositions">
+<span class="sig-name descname"><span class="pre">AllAtomPositions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sequence</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.AllAtomPositions" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a container for the given <em>sequence</em> with all positions unset.</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>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence of amino acid one letter codes.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>sequence</em> contains a one letter
-code which is not one of the 20 default amino acids.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence of amino acid one letter codes.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>sequence</em> contains a one letter
+code which is not one of the 20 default amino acids.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">AllAtomPositions</code><span class="sig-paren">(</span><em>residues</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id0">
+<span class="sig-name descname"><span class="pre">AllAtomPositions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">residues</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id0" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a container for the given <em>residues</em>. Both sequence and positions
 are extracted from the given 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>residues</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandleList</span></code>) – List of residues</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if any residue has a one letter
-code which is not one of the 20 default amino acids.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>residues</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandleList</span></code>) – List of residues</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if any residue has a one letter
+code which is not one of the 20 default amino acids.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">AllAtomPositions</code><span class="sig-paren">(</span><em>sequence</em>, <em>residues</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id1">
+<span class="sig-name descname"><span class="pre">AllAtomPositions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sequence</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residues</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id1" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a container for the given <em>sequence</em> and extracts positions from
 <em>residues</em>. The residues may be different amino acids than the given
-<em>sequence</em> (see <a class="reference internal" href="#promod3.loop.AllAtomPositions.SetResidue" title="promod3.loop.AllAtomPositions.SetResidue"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetResidue()</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 simple">
-<li><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence of amino acid one letter codes.</li>
-<li><strong>residues</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandleList</span></code>) – List of residues from which positions are extracted.</li>
+<em>sequence</em> (see <a class="reference internal" href="#id3" title="promod3.loop.AllAtomPositions.SetResidue"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetResidue()</span></code></a>).</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence of amino acid one letter codes.</p></li>
+<li><p><strong>residues</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandleList</span></code>) – List of residues from which positions are extracted.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>sequence</em> contains a one letter
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>sequence</em> contains a one letter
 code which is not one of the 20 default amino acids or if
 <em>sequence</em> and <em>residues</em> are inconsistent in size.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">AllAtomPositions</code><span class="sig-paren">(</span><em>bb_list</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id2">
+<span class="sig-name descname"><span class="pre">AllAtomPositions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bb_list</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id2" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a container for the given backbone. Both sequence and backbone
 positions are extracted from the given 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>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 notranslate"><span class="pre">BackboneList</span></code></a>) – Backbone list of residues</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if any residue has a one letter
-code which is not one of the 20 default amino acids.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><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 notranslate"><span class="pre">BackboneList</span></code></a>) – Backbone list of residues</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if any residue has a one letter
+code which is not one of the 20 default amino acids.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.SetResidue">
-<code class="descname">SetResidue</code><span class="sig-paren">(</span><em>res_index</em>, <em>res</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.SetResidue" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.SetResidue">
+<span class="sig-name descname"><span class="pre">SetResidue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res_index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.SetResidue" title="Permalink to this definition">¶</a></dt>
 <dd><p>Set positions for residue at index <em>res_index</em> given the atoms in <em>res</em>.
 For each expected heavy atom, we search for an atom of that name in <em>res</em>
 and if found set the corresponding position, otherwise we unset it.</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>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</li>
-<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue providing atoms</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</p></li>
+<li><p><strong>res</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue providing atoms</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> out of bounds.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> out of bounds.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">SetResidue</code><span class="sig-paren">(</span><em>res_index</em>, <em>other</em>, <em>other_res_index</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id3">
+<span class="sig-name descname"><span class="pre">SetResidue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res_index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">other</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">other_res_index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id3" title="Permalink to this definition">¶</a></dt>
 <dd><p>Set positions for residue at index <em>res_index</em> given the positions of
 residue at index <em>other_res_index</em> in <em>other</em> position container. Each
 position is set or cleared according to the data in <em>other</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>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</li>
-<li><strong>other</strong> (<a class="reference internal" href="#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Position container from which we take data</li>
-<li><strong>other_res_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index in <em>other</em></li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</p></li>
+<li><p><strong>other</strong> (<a class="reference internal" href="#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Position container from which we take data</p></li>
+<li><p><strong>other_res_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index in <em>other</em></p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> or <em>other_res_index</em>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> or <em>other_res_index</em>
 out of bounds or if residues in the two containers are inconsistent
 (different amino acids).</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.SetPos">
-<code class="descname">SetPos</code><span class="sig-paren">(</span><em>index</em>, <em>pos</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.SetPos" 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>index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Set position at that index.</li>
-<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – Set position to <em>pos</em>.</li>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.SetPos">
+<span class="sig-name descname"><span class="pre">SetPos</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.SetPos" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Set position at that index.</p></li>
+<li><p><strong>pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – Set position to <em>pos</em>.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>index</em> out of bounds.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>index</em> out of bounds.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.ClearPos">
-<code class="descname">ClearPos</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.ClearPos" 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>index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Unset position at that index.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>index</em> out of bounds.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.ClearPos">
+<span class="sig-name descname"><span class="pre">ClearPos</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.ClearPos" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Unset position at that index.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>index</em> out of bounds.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.ClearResidue">
-<code class="descname">ClearResidue</code><span class="sig-paren">(</span><em>res_index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.ClearResidue" 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>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Unset all positions for residue at that index.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> out of bounds.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.ClearResidue">
+<span class="sig-name descname"><span class="pre">ClearResidue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res_index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.ClearResidue" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Unset all positions for residue at that index.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> out of bounds.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.GetPos">
-<code class="descname">GetPos</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetPos" 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">Position at given index.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a></td>
-</tr>
-<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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Atom position index.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>index</em> out of bounds.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.GetPos">
+<span class="sig-name descname"><span class="pre">GetPos</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetPos" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Position at given index.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Atom position index.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>index</em> out of bounds.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.IsSet">
-<code class="descname">IsSet</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.IsSet" 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, if the position at that index is currently set.</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-<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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Atom position index.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>index</em> out of bounds.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.IsSet">
+<span class="sig-name descname"><span class="pre">IsSet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.IsSet" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>True, if the position at that index is currently set.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Atom position index.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>index</em> out of bounds.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.GetIndex">
-<code class="descname">GetIndex</code><span class="sig-paren">(</span><em>res_index</em>, <em>atom_name</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetIndex" 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"><p class="first">Atom position index for atom named <em>atom_name</em> (standard PDB
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.GetIndex">
+<span class="sig-name descname"><span class="pre">GetIndex</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res_index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">atom_name</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetIndex" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Atom position index for atom named <em>atom_name</em> (standard PDB
 naming) for residue at index <em>res_index</em>.</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</li>
-<li><strong>atom_name</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Atom name</li>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</p></li>
+<li><p><strong>atom_name</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Atom name</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> out of bounds or
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> out of bounds or
 if <em>atom_name</em> is not one of that residue’s heavy atoms.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.GetFirstIndex">
-<code class="descname">GetFirstIndex</code><span class="sig-paren">(</span><em>res_index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetFirstIndex" 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">First atom position index for residue at index <em>res_index</em>.</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> out of bounds.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.GetFirstIndex">
+<span class="sig-name descname"><span class="pre">GetFirstIndex</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res_index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetFirstIndex" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>First atom position index for residue at index <em>res_index</em>.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> out of bounds.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.GetLastIndex">
-<code class="descname">GetLastIndex</code><span class="sig-paren">(</span><em>res_index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetLastIndex" 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">Last atom position index for residue at index <em>res_index</em>.</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> out of bounds.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.GetLastIndex">
+<span class="sig-name descname"><span class="pre">GetLastIndex</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res_index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetLastIndex" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Last atom position index for residue at index <em>res_index</em>.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> out of bounds.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.GetAA">
-<code class="descname">GetAA</code><span class="sig-paren">(</span><em>res_index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetAA" 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">Amino acid type of residue at index <em>res_index</em>.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> out of bounds.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.GetAA">
+<span class="sig-name descname"><span class="pre">GetAA</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res_index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetAA" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Amino acid type of residue at index <em>res_index</em>.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> out of bounds.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.IsAnySet">
-<code class="descname">IsAnySet</code><span class="sig-paren">(</span><em>res_index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.IsAnySet" 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, if any atom position of residue at index <em>res_index</em> is set.</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> out of bounds.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.IsAnySet">
+<span class="sig-name descname"><span class="pre">IsAnySet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res_index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.IsAnySet" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>True, if any atom position of residue at index <em>res_index</em> is set.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> out of bounds.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.IsAllSet">
-<code class="descname">IsAllSet</code><span class="sig-paren">(</span><em>res_index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.IsAllSet" 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, if all atom positions of residue at index <em>res_index</em> are set.</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> out of bounds.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.IsAllSet">
+<span class="sig-name descname"><span class="pre">IsAllSet</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res_index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.IsAllSet" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>True, if all atom positions of residue at index <em>res_index</em> are set.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> out of bounds.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.GetPhiTorsion">
-<code class="descname">GetPhiTorsion</code><span class="sig-paren">(</span><em>res_index</em>, <em>def_angle=-1.0472</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetPhiTorsion" 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"><p class="first">Phi torsion angle of residue at index <em>res_index</em> or <em>def_angle</em>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.GetPhiTorsion">
+<span class="sig-name descname"><span class="pre">GetPhiTorsion</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res_index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">def_angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1.0472</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetPhiTorsion" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Phi torsion angle of residue at index <em>res_index</em> or <em>def_angle</em>
 if required atom positions (C-N-CA-C) are not set.</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</li>
-<li><strong>def_angle</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Default phi angle.</li>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</p></li>
+<li><p><strong>def_angle</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Default phi angle.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> - 1 or <em>res_index</em>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> - 1 or <em>res_index</em>
 out of bounds.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.GetPsiTorsion">
-<code class="descname">GetPsiTorsion</code><span class="sig-paren">(</span><em>res_index</em>, <em>def_angle=-0.7854</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetPsiTorsion" 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"><p class="first">Psi torsion angle of residue at index <em>res_index</em> or <em>def_angle</em>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.GetPsiTorsion">
+<span class="sig-name descname"><span class="pre">GetPsiTorsion</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res_index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">def_angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-0.7854</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetPsiTorsion" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Psi torsion angle of residue at index <em>res_index</em> or <em>def_angle</em>
 if required atom positions (N-CA-C-N) are not set.</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</li>
-<li><strong>def_angle</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Default psi angle.</li>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</p></li>
+<li><p><strong>def_angle</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Default psi angle.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> or <em>res_index</em> + 1
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> or <em>res_index</em> + 1
 out of bounds.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.GetOmegaTorsion">
-<code class="descname">GetOmegaTorsion</code><span class="sig-paren">(</span><em>res_index</em>, <em>def_angle=3.14159</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetOmegaTorsion" 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"><p class="first">Omega torsion angle of residue at index <em>res_index</em> or <em>def_angle</em>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.GetOmegaTorsion">
+<span class="sig-name descname"><span class="pre">GetOmegaTorsion</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res_index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">def_angle</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3.14159</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetOmegaTorsion" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Omega torsion angle of residue at index <em>res_index</em> or <em>def_angle</em>
 if required atom positions (CA-C-N-CA) are not set.
 Here, we use CA-C of residue <em>res_index</em> - 1 and N-CA of residue
 <em>res_index</em> (consistent with OST’s
-<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle.GetOmegaTorsion" title="(in OpenStructure v2.4.0)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetOmegaTorsion()</span></code></a>).</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</li>
-<li><strong>def_angle</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Default omega angle.</li>
+<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle.GetOmegaTorsion" title="(in OpenStructure v2.9.2)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetOmegaTorsion()</span></code></a>).</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</p></li>
+<li><p><strong>def_angle</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Default omega angle.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> - 1 or <em>res_index</em>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> - 1 or <em>res_index</em>
 out of bounds.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.GetNumAtoms">
-<code class="descname">GetNumAtoms</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetNumAtoms" 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 atom positions stored in this container.</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.GetNumAtoms">
+<span class="sig-name descname"><span class="pre">GetNumAtoms</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetNumAtoms" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Number of atom positions stored in this container.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.GetNumResidues">
-<code class="descname">GetNumResidues</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetNumResidues" 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 residues stored in this container.</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.GetNumResidues">
+<span class="sig-name descname"><span class="pre">GetNumResidues</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetNumResidues" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Number of residues stored in this container.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.GetSequence">
-<code class="descname">GetSequence</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetSequence" 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">Sequence of one letter codes of all residues stored here.</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.GetSequence">
+<span class="sig-name descname"><span class="pre">GetSequence</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.GetSequence" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Sequence of one letter codes of all residues stored here.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.Copy">
-<code class="descname">Copy</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.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">Full copy of this object.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.Copy">
+<span class="sig-name descname"><span class="pre">Copy</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.Copy" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Full copy of this object.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.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.AllAtomPositions.Extract" 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"><p class="first">Container with residues with indices in range [<em>from</em>, <em>to</em>-1].</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a></p>
-</td>
-</tr>
-<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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – First residue index</li>
-<li><strong>to</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – One after last residue index</li>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.Extract">
+<span class="sig-name descname"><span class="pre">Extract</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">from</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">to</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.Extract" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Container with residues with indices in range [<em>from</em>, <em>to</em>-1].</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>from</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – First residue index</p></li>
+<li><p><strong>to</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – One after last residue index</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>from</em> &gt;= <em>to</em> or if any residue
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>from</em> &gt;= <em>to</em> or if any residue
 index is out of bounds.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">Extract</code><span class="sig-paren">(</span><em>res_indices</em><span class="sig-paren">)</span></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">Container with residues with indices in <em>res_indices</em>.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>res_indices</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – List of residue index</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if any residue index is out of
-bounds.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="id4">
+<span class="sig-name descname"><span class="pre">Extract</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res_indices</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id4" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Container with residues with indices in <em>res_indices</em>.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>res_indices</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – List of residue index</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if any residue index is out of
+bounds.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.ExtractBackbone">
-<code class="descname">ExtractBackbone</code><span class="sig-paren">(</span><em>from</em>, <em>to</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.ExtractBackbone" 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"><p class="first">Backbone list of residues with indices in range [<em>from</em>, <em>to</em>-1].
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.ExtractBackbone">
+<span class="sig-name descname"><span class="pre">ExtractBackbone</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">from</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">to</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.ExtractBackbone" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Backbone list of residues with indices in range [<em>from</em>, <em>to</em>-1].
 CB atoms are reconstructed if unset.</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a></p>
-</td>
-</tr>
-<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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – First residue index</li>
-<li><strong>to</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – One after last residue index</li>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>from</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – First residue index</p></li>
+<li><p><strong>to</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – One after last residue index</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>from</em> &gt;= <em>to</em>, if any residue
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>from</em> &gt;= <em>to</em>, if any residue
 index is out of bounds or if any residue has any unset backbone
 atom (N, CA, C, O).</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.ToEntity">
-<code class="descname">ToEntity</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.ToEntity" 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">All residues packed in a single chain as an OST entity.
-Connectivity resolved with <a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/connectivity/#ost.conop.HeuristicProcessor" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.HeuristicProcessor</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://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityHandle</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.ToEntity">
+<span class="sig-name descname"><span class="pre">ToEntity</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.ToEntity" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>All residues packed in a single chain as an OST entity.
+Connectivity resolved with <a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/connectivity/#ost.conop.HeuristicProcessor" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.HeuristicProcessor</span></code></a>.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityHandle</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.AllAtomPositions.InsertInto">
-<code class="descname">InsertInto</code><span class="sig-paren">(</span><em>res_index</em>, <em>chain</em>, <em>res_num</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.InsertInto" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomPositions.InsertInto">
+<span class="sig-name descname"><span class="pre">InsertInto</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res_index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res_num</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AllAtomPositions.InsertInto" title="Permalink to this definition">¶</a></dt>
 <dd><p>Insert a single residue (taken from given index) into the <em>chain</em> (with
 given res. number). Existing data is replaced and atoms are (re)connected
 according to the default connectivity of that amino acid. Peptide links to
 neighboring residues are set according to residue numbering. To make this
 function efficient, we require the backbone atoms (N, C, CA) to be set.</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>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</li>
-<li><strong>chain</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ChainHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ChainHandle</span></code></a>) – Chain into which we insert</li>
-<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResNum" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResNum</span></code></a>) – Residue number for the inserted residue</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>res_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index</p></li>
+<li><p><strong>chain</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ChainHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ChainHandle</span></code></a>) – Chain into which we insert</p></li>
+<li><p><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResNum" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResNum</span></code></a>) – Residue number for the inserted residue</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> out of bounds, if
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_index</em> out of bounds, if
 <em>chain</em> is invalid or if not all backbone atoms (N, C, CA) set.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="the-allatomenvpositions-class">
-<h2>The AllAtomEnvPositions class<a class="headerlink" href="#the-allatomenvpositions-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.loop.AllAtomEnvPositions">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">AllAtomEnvPositions</code><a class="headerlink" href="#promod3.loop.AllAtomEnvPositions" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="the-allatomenvpositions-class">
+<h2>The AllAtomEnvPositions class<a class="headerlink" href="#the-allatomenvpositions-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomEnvPositions">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">AllAtomEnvPositions</span></span><a class="headerlink" href="#promod3.loop.AllAtomEnvPositions" title="Permalink to this definition">¶</a></dt>
 <dd><p>To link the arbitrary amino acid sequence defined in <a class="reference internal" href="#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>
 and the SEQRES of <a class="reference internal" href="#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a>, we provide a helper class containing
 structural data as well as a mapping to the internal residue indices of
 <a class="reference internal" href="#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a>.</p>
-<dl class="attribute">
-<dt id="promod3.loop.AllAtomEnvPositions.all_pos">
-<code class="descname">all_pos</code><a class="headerlink" href="#promod3.loop.AllAtomEnvPositions.all_pos" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomEnvPositions.all_pos">
+<span class="sig-name descname"><span class="pre">all_pos</span></span><a class="headerlink" href="#promod3.loop.AllAtomEnvPositions.all_pos" title="Permalink to this definition">¶</a></dt>
 <dd><p>Container for the positions of all heavy atoms of some 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">Type:</th><td class="field-body"><a class="reference internal" href="#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.loop.AllAtomEnvPositions.res_indices">
-<code class="descname">res_indices</code><a class="headerlink" href="#promod3.loop.AllAtomEnvPositions.res_indices" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.AllAtomEnvPositions.res_indices">
+<span class="sig-name descname"><span class="pre">res_indices</span></span><a class="headerlink" href="#promod3.loop.AllAtomEnvPositions.res_indices" title="Permalink to this definition">¶</a></dt>
 <dd><p>Residue indices to be used by <a class="reference internal" href="#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a> for each residue defined
 in <em>all_pos</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">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="distinguishing-amino-acid-atoms">
-<h2>Distinguishing amino acid atoms<a class="headerlink" href="#distinguishing-amino-acid-atoms" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.loop.AminoAcidAtom">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">AminoAcidAtom</code><a class="headerlink" href="#promod3.loop.AminoAcidAtom" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="distinguishing-amino-acid-atoms">
+<h2>Distinguishing amino acid atoms<a class="headerlink" href="#distinguishing-amino-acid-atoms" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidAtom">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">AminoAcidAtom</span></span><a class="headerlink" href="#promod3.loop.AminoAcidAtom" title="Permalink to this definition">¶</a></dt>
 <dd><p>Enumerates all heavy atoms of all amino acids. The naming scheme is TLC_AN,
 where TLC is the standard three letter code of the amino acid and AN is the
 atom name (standard PDB naming) of the heavy atom. Examples: <em>ALA_CB</em>,
@@ -919,9 +831,9 @@ number of atoms in the enumerator. Each heavy atom hence corresponds to an
 integer in the range [0, <em>XXX_NUM_ATOMS</em>-1].</p>
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.loop.AminoAcidHydrogen">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">AminoAcidHydrogen</code><a class="headerlink" href="#promod3.loop.AminoAcidHydrogen" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidHydrogen">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">AminoAcidHydrogen</span></span><a class="headerlink" href="#promod3.loop.AminoAcidHydrogen" title="Permalink to this definition">¶</a></dt>
 <dd><p>Enumerates all hydrogens of all amino acids. The naming scheme is TLC_AN,
 where TLC is the standard three letter code of the amino acid and AN is the
 atom name (standard PDB naming) of the hydrogen. Examples: <em>ALA_H</em>,
@@ -936,354 +848,322 @@ number of hydrogens in the enumerator. Each hydrogen hence corresponds to an
 integer in the range [0, <em>XXX_NUM_HYDROGENS</em>-1].</p>
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.loop.AminoAcidLookup">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">AminoAcidLookup</code><a class="headerlink" href="#promod3.loop.AminoAcidLookup" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidLookup">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">AminoAcidLookup</span></span><a class="headerlink" href="#promod3.loop.AminoAcidLookup" title="Permalink to this definition">¶</a></dt>
 <dd><p>Collection of static methods to lookup properties of amino acid types
-(<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>), heavy atom types (<a class="reference internal" href="#promod3.loop.AminoAcidAtom" title="promod3.loop.AminoAcidAtom"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidAtom</span></code></a>) and
+(<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>), heavy atom types (<a class="reference internal" href="#promod3.loop.AminoAcidAtom" title="promod3.loop.AminoAcidAtom"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidAtom</span></code></a>) and
 hydrogen types (<a class="reference internal" href="#promod3.loop.AminoAcidHydrogen" title="promod3.loop.AminoAcidHydrogen"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidHydrogen</span></code></a>).</p>
-<dl class="staticmethod">
-<dt id="promod3.loop.AminoAcidLookup.GetOLC">
-<em class="property">static </em><code class="descname">GetOLC</code><span class="sig-paren">(</span><em>aa</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetOLC" 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">One letter code for the given amino acid</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>aa</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcid</span></code></a>) – Amino acid type</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidLookup.GetOLC">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetOLC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aa</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetOLC" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>One letter code for the given amino acid</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>aa</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcid</span></code></a>) – Amino acid type</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.loop.AminoAcidLookup.GetAAA">
-<em class="property">static </em><code class="descname">GetAAA</code><span class="sig-paren">(</span><em>aa</em>, <em>atom_idx</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetAAA" title="Permalink to this definition">¶</a></dt>
-<dt>
-<em class="property">static </em><code class="descname">GetAAA</code><span class="sig-paren">(</span><em>aa</em>, <em>atom_name</em><span class="sig-paren">)</span></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"><p class="first">Heavy atom type for the given amino acid and atom.</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="#promod3.loop.AminoAcidAtom" title="promod3.loop.AminoAcidAtom"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidAtom</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>aa</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcid</span></code></a>) – Amino acid type</li>
-<li><strong>atom_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Atom index (in [0, GetNumAtoms(aa)-1])</li>
-<li><strong>atom_name</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Atom name</li>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidLookup.GetAAA">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetAAA</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">atom_idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetAAA" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetAAA</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">atom_name</span></span></em><span class="sig-paren">)</span></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Heavy atom type for the given amino acid and atom.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.loop.AminoAcidAtom" title="promod3.loop.AminoAcidAtom"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidAtom</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>aa</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcid</span></code></a>) – Amino acid type</p></li>
+<li><p><strong>atom_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Atom index (in [0, GetNumAtoms(aa)-1])</p></li>
+<li><p><strong>atom_name</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Atom name</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>atom_idx</em> out of bounds or if
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>atom_idx</em> out of bounds or if
 <em>atom_name</em> is not one of the heavy atoms of <em>aa</em>.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.loop.AminoAcidLookup.GetAAH">
-<em class="property">static </em><code class="descname">GetAAH</code><span class="sig-paren">(</span><em>aa</em>, <em>atom_idx</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetAAH" title="Permalink to this definition">¶</a></dt>
-<dt>
-<em class="property">static </em><code class="descname">GetAAH</code><span class="sig-paren">(</span><em>aa</em>, <em>atom_name</em><span class="sig-paren">)</span></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"><p class="first">Hydrogen type for the given amino acid and atom.</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="#promod3.loop.AminoAcidHydrogen" title="promod3.loop.AminoAcidHydrogen"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidHydrogen</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>aa</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcid</span></code></a>) – Amino acid type</li>
-<li><strong>atom_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Atom index (in [0, GetNumHydrogens(aa)-1])</li>
-<li><strong>atom_name</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Atom name</li>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidLookup.GetAAH">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetAAH</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">atom_idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetAAH" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetAAH</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">atom_name</span></span></em><span class="sig-paren">)</span></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Hydrogen type for the given amino acid and atom.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.loop.AminoAcidHydrogen" title="promod3.loop.AminoAcidHydrogen"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidHydrogen</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>aa</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcid</span></code></a>) – Amino acid type</p></li>
+<li><p><strong>atom_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Atom index (in [0, GetNumHydrogens(aa)-1])</p></li>
+<li><p><strong>atom_name</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Atom name</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>atom_idx</em> out of bounds or if
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>atom_idx</em> out of bounds or if
 <em>atom_name</em> is not one of the hydrogens of <em>aa</em>.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.loop.AminoAcidLookup.GetIndex">
-<em class="property">static </em><code class="descname">GetIndex</code><span class="sig-paren">(</span><em>aa</em>, <em>atom_name</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetIndex" 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"><p class="first">Atom index (in [0, GetNumAtoms(aa)-1]) for the given amino acid and
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidLookup.GetIndex">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetIndex</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">atom_name</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetIndex" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Atom index (in [0, GetNumAtoms(aa)-1]) for the given amino acid and
 atom.</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>aa</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcid</span></code></a>) – Amino acid type</li>
-<li><strong>atom_name</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Atom name</li>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>aa</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcid</span></code></a>) – Amino acid type</p></li>
+<li><p><strong>atom_name</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Atom name</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>atom_name</em> is not one of the
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>atom_name</em> is not one of the
 heavy atoms of <em>aa</em>.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.loop.AminoAcidLookup.GetHydrogenIndex">
-<em class="property">static </em><code class="descname">GetHydrogenIndex</code><span class="sig-paren">(</span><em>aa</em>, <em>atom_name</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetHydrogenIndex" 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"><p class="first">Atom index (in [0, GetNumHydrogens(aa)-1]) for the given amino acid
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidLookup.GetHydrogenIndex">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetHydrogenIndex</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">atom_name</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetHydrogenIndex" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Atom index (in [0, GetNumHydrogens(aa)-1]) for the given amino acid
 and atom.</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>aa</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcid</span></code></a>) – Amino acid type</li>
-<li><strong>atom_name</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Atom name</li>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>aa</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcid</span></code></a>) – Amino acid type</p></li>
+<li><p><strong>atom_name</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Atom name</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>atom_name</em> is not one of the
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>atom_name</em> is not one of the
 hydrogens of <em>aa</em>.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.loop.AminoAcidLookup.GetNumAtoms">
-<em class="property">static </em><code class="descname">GetNumAtoms</code><span class="sig-paren">(</span><em>aa</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetNumAtoms" 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 heavy atoms of the given amino acid</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>aa</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcid</span></code></a>) – Amino acid type</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidLookup.GetNumAtoms">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetNumAtoms</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aa</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetNumAtoms" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Number of heavy atoms of the given amino acid</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>aa</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcid</span></code></a>) – Amino acid type</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.loop.AminoAcidLookup.GetMaxNumAtoms">
-<em class="property">static </em><code class="descname">GetMaxNumAtoms</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetMaxNumAtoms" 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">Max. number of heavy atoms for any amino acid</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidLookup.GetMaxNumAtoms">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetMaxNumAtoms</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetMaxNumAtoms" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Max. number of heavy atoms for any amino acid</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.loop.AminoAcidLookup.GetNumHydrogens">
-<em class="property">static </em><code class="descname">GetNumHydrogens</code><span class="sig-paren">(</span><em>aa</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetNumHydrogens" 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 hydrogens of the given amino acid</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>aa</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcid</span></code></a>) – Amino acid type</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidLookup.GetNumHydrogens">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetNumHydrogens</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aa</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetNumHydrogens" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Number of hydrogens of the given amino acid</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>aa</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcid</span></code></a>) – Amino acid type</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.loop.AminoAcidLookup.GetMaxNumHydrogens">
-<em class="property">static </em><code class="descname">GetMaxNumHydrogens</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetMaxNumHydrogens" 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">Max. number of hydrogens for any amino acid</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidLookup.GetMaxNumHydrogens">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetMaxNumHydrogens</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetMaxNumHydrogens" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Max. number of hydrogens for any amino acid</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.loop.AminoAcidLookup.GetAA">
-<em class="property">static </em><code class="descname">GetAA</code><span class="sig-paren">(</span><em>aaa</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetAA" title="Permalink to this definition">¶</a></dt>
-<dt>
-<em class="property">static </em><code class="descname">GetAA</code><span class="sig-paren">(</span><em>aah</em><span class="sig-paren">)</span></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"><p class="first">Amino acid type of the given heavy atom type</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcid</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>aaa</strong> (<a class="reference internal" href="#promod3.loop.AminoAcidAtom" title="promod3.loop.AminoAcidAtom"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidAtom</span></code></a>) – Heavy atom type</li>
-<li><strong>aah</strong> (<a class="reference internal" href="#promod3.loop.AminoAcidHydrogen" title="promod3.loop.AminoAcidHydrogen"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidHydrogen</span></code></a>) – Hydrogen type</li>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidLookup.GetAA">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetAA</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aaa</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetAA" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetAA</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aah</span></span></em><span class="sig-paren">)</span></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Amino acid type of the given heavy atom type</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcid</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>aaa</strong> (<a class="reference internal" href="#promod3.loop.AminoAcidAtom" title="promod3.loop.AminoAcidAtom"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidAtom</span></code></a>) – Heavy atom type</p></li>
+<li><p><strong>aah</strong> (<a class="reference internal" href="#promod3.loop.AminoAcidHydrogen" title="promod3.loop.AminoAcidHydrogen"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidHydrogen</span></code></a>) – Hydrogen type</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.loop.AminoAcidLookup.GetAtomName">
-<em class="property">static </em><code class="descname">GetAtomName</code><span class="sig-paren">(</span><em>aaa</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetAtomName" title="Permalink to this definition">¶</a></dt>
-<dt>
-<em class="property">static </em><code class="descname">GetAtomName</code><span class="sig-paren">(</span><em>aah</em><span class="sig-paren">)</span></dt>
-<dt id="promod3.loop.AminoAcidLookup.GetAtomNameCharmm">
-<em class="property">static </em><code class="descname">GetAtomNameCharmm</code><span class="sig-paren">(</span><em>aaa</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetAtomNameCharmm" title="Permalink to this definition">¶</a></dt>
-<dt>
-<em class="property">static </em><code class="descname">GetAtomNameCharmm</code><span class="sig-paren">(</span><em>aah</em><span class="sig-paren">)</span></dt>
-<dt id="promod3.loop.AminoAcidLookup.GetAtomNameAmber">
-<em class="property">static </em><code class="descname">GetAtomNameAmber</code><span class="sig-paren">(</span><em>aaa</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetAtomNameAmber" title="Permalink to this definition">¶</a></dt>
-<dt>
-<em class="property">static </em><code class="descname">GetAtomNameAmber</code><span class="sig-paren">(</span><em>aah</em><span class="sig-paren">)</span></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"><p class="first">Atom name of the given heavy atom type according to PDB (default),
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidLookup.GetAtomName">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetAtomName</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aaa</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetAtomName" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetAtomName</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aah</span></span></em><span class="sig-paren">)</span></dt>
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidLookup.GetAtomNameCharmm">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetAtomNameCharmm</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aaa</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetAtomNameCharmm" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetAtomNameCharmm</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aah</span></span></em><span class="sig-paren">)</span></dt>
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidLookup.GetAtomNameAmber">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetAtomNameAmber</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aaa</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetAtomNameAmber" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetAtomNameAmber</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aah</span></span></em><span class="sig-paren">)</span></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Atom name of the given heavy atom type according to PDB (default),
 CHARMM or AMBER naming.</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>aaa</strong> (<a class="reference internal" href="#promod3.loop.AminoAcidAtom" title="promod3.loop.AminoAcidAtom"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidAtom</span></code></a>) – Heavy atom type</li>
-<li><strong>aah</strong> (<a class="reference internal" href="#promod3.loop.AminoAcidHydrogen" title="promod3.loop.AminoAcidHydrogen"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidHydrogen</span></code></a>) – Hydrogen type</li>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>aaa</strong> (<a class="reference internal" href="#promod3.loop.AminoAcidAtom" title="promod3.loop.AminoAcidAtom"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidAtom</span></code></a>) – Heavy atom type</p></li>
+<li><p><strong>aah</strong> (<a class="reference internal" href="#promod3.loop.AminoAcidHydrogen" title="promod3.loop.AminoAcidHydrogen"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidHydrogen</span></code></a>) – Hydrogen type</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.loop.AminoAcidLookup.GetElement">
-<em class="property">static </em><code class="descname">GetElement</code><span class="sig-paren">(</span><em>aaa</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetElement" 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">Chemical element of the given heavy atom type</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>aaa</strong> (<a class="reference internal" href="#promod3.loop.AminoAcidAtom" title="promod3.loop.AminoAcidAtom"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidAtom</span></code></a>) – Heavy atom type</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidLookup.GetElement">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetElement</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aaa</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetElement" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Chemical element of the given heavy atom type</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>aaa</strong> (<a class="reference internal" href="#promod3.loop.AminoAcidAtom" title="promod3.loop.AminoAcidAtom"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidAtom</span></code></a>) – Heavy atom type</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.loop.AminoAcidLookup.GetAnchorAtomIndex">
-<em class="property">static </em><code class="descname">GetAnchorAtomIndex</code><span class="sig-paren">(</span><em>aah</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetAnchorAtomIndex" 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">Atom index (in [0, GetNumAtoms(GetAA(aah))-1]) of the anchor to
-which the given hydrogen is attached.</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>aah</strong> (<a class="reference internal" href="#promod3.loop.AminoAcidHydrogen" title="promod3.loop.AminoAcidHydrogen"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidHydrogen</span></code></a>) – Hydrogen type</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidLookup.GetAnchorAtomIndex">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetAnchorAtomIndex</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aah</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetAnchorAtomIndex" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Atom index (in [0, GetNumAtoms(GetAA(aah))-1]) of the anchor to
+which the given hydrogen is attached.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>aah</strong> (<a class="reference internal" href="#promod3.loop.AminoAcidHydrogen" title="promod3.loop.AminoAcidHydrogen"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidHydrogen</span></code></a>) – Hydrogen type</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.loop.AminoAcidLookup.GetHNIndex">
-<em class="property">static </em><code class="descname">GetHNIndex</code><span class="sig-paren">(</span><em>aa</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetHNIndex" 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">Atom index (in [0, GetNumHydrogens(aa)-1]) of H atom attached to N
-when residue is peptide bound.</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>aa</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcid</span></code></a>) – Amino acid type</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if no such atom (i.e. PRO)</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidLookup.GetHNIndex">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetHNIndex</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aa</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetHNIndex" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Atom index (in [0, GetNumHydrogens(aa)-1]) of H atom attached to N
+when residue is peptide bound.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>aa</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcid</span></code></a>) – Amino acid type</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if no such atom (i.e. PRO)</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.loop.AminoAcidLookup.GetH1Index">
-<em class="property">static </em><code class="descname">GetH1Index</code><span class="sig-paren">(</span><em>aa</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetH1Index" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.AminoAcidLookup.GetH2Index">
-<em class="property">static </em><code class="descname">GetH2Index</code><span class="sig-paren">(</span><em>aa</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetH2Index" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.AminoAcidLookup.GetH3Index">
-<em class="property">static </em><code class="descname">GetH3Index</code><span class="sig-paren">(</span><em>aa</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetH3Index" 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">Atom index (in [0, GetNumHydrogens(aa)-1]) of H atom attached to N
-when residue is N 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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>aa</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcid</span></code></a>) – Amino acid type</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if no such atom (i.e. H3 for PRO)</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidLookup.GetH1Index">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetH1Index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aa</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetH1Index" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidLookup.GetH2Index">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetH2Index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aa</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetH2Index" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.AminoAcidLookup.GetH3Index">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetH3Index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aa</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.AminoAcidLookup.GetH3Index" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Atom index (in [0, GetNumHydrogens(aa)-1]) of H atom attached to N
+when residue is N terminal.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>aa</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcid</span></code></a>) – Amino acid type</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if no such atom (i.e. H3 for PRO)</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -1304,12 +1184,12 @@ when residue is N terminal.</td>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -1326,36 +1206,42 @@ when residue is N terminal.</td>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a><ul>
       <li>Previous: <a href="structure_db.html" title="previous chapter">Structural Data</a></li>
-      <li>Next: <a href="mm_system_creation.html" title="next chapter">Generate <code class="docutils literal notranslate"><span class="pre">ost.mol.mm</span></code> systems</a></li>
+      <li>Next: <a href="mm_system_creation.html" title="next chapter">Generate <code class="xref py py-mod docutils literal notranslate"><span class="pre">ost.mol.mm</span></code> systems</a></li>
   </ul></li>
   </ul></li>
   </ul></li>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/loop/all_atom.rst.txt"
diff --git a/doc/html/loop/backbone.html b/doc/html/loop/backbone.html
index b2a0e71c9af3026a42465bfb1e428ebcf4f2935f..da445fe17aa01246478ec3cbf3bbf29b8321b917 100644
--- a/doc/html/loop/backbone.html
+++ b/doc/html/loop/backbone.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Representing Loops &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Representing Loops &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Sampling Dihedral Angles" href="torsion_sampler.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,17 +31,19 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="representing-loops">
-<h1>Representing Loops<a class="headerlink" href="#representing-loops" title="Permalink to this headline">¶</a></h1>
+  <section id="representing-loops">
+<h1>Representing Loops<a class="headerlink" href="#representing-loops" title="Permalink to this heading">¶</a></h1>
 <p>The most simple representation of structural information in ProMod3 is the
 <a class="reference internal" href="#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>. It provides a way to store the backbone positions of
 residues. They provide structural manipulations, they can be manipulated and
-converted from, to, or inserted to a <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityHandle</span></code></a>.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span>
-<span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">conop</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">loop</span>
+converted from, to, or inserted to a <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityHandle</span></code></a>.</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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">ost</span> <span class="kn">import</span> <span class="n">conop</span>
+<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">loop</span>
 
 <span class="n">sequence</span> <span class="o">=</span> <span class="s2">&quot;AAAAAAAA&quot;</span>
 
@@ -73,11 +76,11 @@ converted from, to, or inserted to a <a class="reference external" href="https:/
 <span class="n">io</span><span class="o">.</span><span class="n">SavePDB</span><span class="p">(</span><span class="n">bb_list</span><span class="o">.</span><span class="n">ToEntity</span><span class="p">(),</span> <span class="s2">&quot;randomized_fragment.pdb&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="section" id="the-backbonelist-class">
-<h2>The BackboneList class<a class="headerlink" href="#the-backbonelist-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.loop.BackboneList">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">BackboneList</code><a class="headerlink" href="#promod3.loop.BackboneList" title="Permalink to this definition">¶</a></dt>
+<section id="the-backbonelist-class">
+<h2>The BackboneList class<a class="headerlink" href="#the-backbonelist-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">BackboneList</span></span><a class="headerlink" href="#promod3.loop.BackboneList" title="Permalink to this definition">¶</a></dt>
 <dd><p>Container for the positions of the backbone atoms (nitrogen (N), alpha carbon
 (CA), beta carbon (CB), carbon (C), oxygen (O)), the one letter codes and
 amino acid types of a segment. This object allows to get, set or modify the
@@ -87,781 +90,675 @@ residue has a CB position defined (i.e. even if it’s a glycine) and we only
 allow amino acid types belonging to the 20 default amino acids. Note that the
 omega torsion angle defined here for residue <em>i</em> is the dihedral between CA-C
 of residue <em>i</em> and N-CA of residue <em>i+1</em> (this is shifted by 1 residue
-compared to OST’s <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle.GetOmegaTorsion" title="(in OpenStructure v2.4.0)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetOmegaTorsion()</span></code></a>).</p>
-<dl class="method">
-<dt id="promod3.loop.BackboneList.BackboneList">
-<code class="descname">BackboneList</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.BackboneList" title="Permalink to this definition">¶</a></dt>
+compared to OST’s <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle.GetOmegaTorsion" title="(in OpenStructure v2.9.2)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetOmegaTorsion()</span></code></a>).</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.BackboneList">
+<span class="sig-name descname"><span class="pre">BackboneList</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.BackboneList" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates empty BackboneList</p>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">BackboneList</code><span class="sig-paren">(</span><em>sequence</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id0">
+<span class="sig-name descname"><span class="pre">BackboneList</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sequence</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id0" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a helical BackboneList from given sequence</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>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence of created BackboneList</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>sequence</em> contains a one letter
-code which is not one of the 20 default amino acids.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt>
-<code class="descname">BackboneList</code><span class="sig-paren">(</span><em>sequence</em>, <em>dihedral_angles</em><span class="sig-paren">)</span></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence of created BackboneList</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>sequence</em> contains a one letter
+code which is not one of the 20 default amino acids.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="id1">
+<span class="sig-name descname"><span class="pre">BackboneList</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sequence</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dihedral_angles</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id1" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a BackboneList from given <em>sequence</em> and <em>dihedral_angles</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>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence of created BackboneList</li>
-<li><strong>dihedral_angles</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – List of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#tuple" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> objects defining the backbone
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence of created BackboneList</p></li>
+<li><p><strong>dihedral_angles</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – List of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#tuple" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> objects defining the backbone
 dihedral angles of created BackboneList. Every
-<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#tuple" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> must either have two or three
+<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#tuple" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> must either have two or three
 elements. Two elements are considered to define the
 phi and psi angles, leading to an idealized omega
 angle of 180 degrees. In case of three elements, all
-angles are defined.</li>
+angles are defined.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>sequence</em> contains a one letter
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>sequence</em> contains a one letter
 code which is not one of the 20 default amino acids or if
 <em>sequence</em> and <em>dihedral_angles</em> are inconsistent in size.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">BackboneList</code><span class="sig-paren">(</span><em>residues</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id2">
+<span class="sig-name descname"><span class="pre">BackboneList</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">residues</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id2" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a BackboneList with positions and sequence extracted from
 <em>residues</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"><strong>residues</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – List of <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a> objects from
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>residues</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – List of <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a> objects from
 which the backbone positions and one letter codes
-are extracted.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if a residue in <em>residues</em>
+are extracted.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if a residue in <em>residues</em>
 contains a one letter code which is not one of the 20 default
 amino acids or when there is a residue not providing all
-required positions.</td>
-</tr>
-</tbody>
-</table>
+required positions.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">BackboneList</code><span class="sig-paren">(</span><em>sequence</em>, <em>residues</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id3">
+<span class="sig-name descname"><span class="pre">BackboneList</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sequence</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residues</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id3" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates a BackboneList from given <em>sequence</em> and positions extracted from
 <em>residues</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>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence of created BackboneList</li>
-<li><strong>residues</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – List of <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a> objects from
-which the backbone positions are extracted.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence of created BackboneList</p></li>
+<li><p><strong>residues</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – List of <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a> objects from
+which the backbone positions are extracted.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>sequence</em> contains a one letter
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>sequence</em> contains a one letter
 code which is not one of the 20 default amino acids or if
 <em>sequence</em> and <em>residues</em> are inconsistent in size or when there is
 a residue not providing all necessary positions.</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.ToDensity">
-<code class="descname">ToDensity</code><span class="sig-paren">(</span><em>padding=10.0</em>, <em>sampling=Vec3(1.0</em>, <em>1.0</em>, <em>1.0)</em>, <em>resolution=3.0</em>, <em>high_resolution=false</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.ToDensity" 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 whole backbone list converted to a density map.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://www.openstructure.org/docs/2.4/img/base/img/#ost.img.ImageHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.img.ImageHandle</span></code></a></td>
-</tr>
-</tbody>
-</table>
-<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>padding</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – </li>
-<li><strong>sampling</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – </li>
-<li><strong>resolution</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – </li>
-<li><strong>high_resolution</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – </li>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.ToDensity">
+<span class="sig-name descname"><span class="pre">ToDensity</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">padding</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sampling</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">Vec3(1.0,</span> <span class="pre">1.0,</span> <span class="pre">1.0)</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resolution</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">high_resolution</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">false</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.ToDensity" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The whole backbone list converted to a density map.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/img/base/img/#ost.img.ImageHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.img.ImageHandle</span></code></a></p>
+</dd>
+</dl>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>padding</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – </p></li>
+<li><p><strong>sampling</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – </p></li>
+<li><p><strong>resolution</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – </p></li>
+<li><p><strong>high_resolution</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – </p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.ToEntity">
-<code class="descname">ToEntity</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.ToEntity" 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 whole backbone list converted to 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="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityHandle</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.InsertInto">
-<code class="descname">InsertInto</code><span class="sig-paren">(</span><em>chain</em>, <em>start_resnum</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.InsertInto" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.ToEntity">
+<span class="sig-name descname"><span class="pre">ToEntity</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.ToEntity" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The whole backbone list converted to an OST entity.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityHandle</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.InsertInto">
+<span class="sig-name descname"><span class="pre">InsertInto</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">chain</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em><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 <em>chain</em>. 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 notranslate"><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>
-<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>chain</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ChainHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResNum" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResNum</span></code></a>) – Residue number defining the start location of insertion</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>chain</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ChainHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ChainHandle</span></code></a>) – The chain</p></li>
+<li><p><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResNum" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResNum</span></code></a>) – Residue number defining the start location of insertion</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt>
-<code class="descname">InsertInto</code><span class="sig-paren">(</span><em>map</em>, <em>resolution=3.0</em>, <em>high_resolution=false</em><span class="sig-paren">)</span></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>map</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/img/base/img/#ost.img.ImageHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.img.ImageHandle</span></code></a>) – </li>
-<li><strong>resolution</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – </li>
-<li><strong>high_resolution</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – </li>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="id4">
+<span class="sig-name descname"><span class="pre">InsertInto</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">map</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resolution</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">high_resolution</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">false</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id4" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>map</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/img/base/img/#ost.img.ImageHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.img.ImageHandle</span></code></a>) – </p></li>
+<li><p><strong>resolution</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – </p></li>
+<li><p><strong>high_resolution</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – </p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.GetBounds">
-<code class="descname">GetBounds</code><span class="sig-paren">(</span><em>all_atom=True</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetBounds" 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"></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/composite/#ost.geom.AlignedCuboid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.AlignedCuboid</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>all_atom</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – </td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.GetSequence">
-<code class="descname">GetSequence</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetSequence" 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 amino acid 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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.SetSequence">
-<code class="descname">SetSequence</code><span class="sig-paren">(</span><em>sequence</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetSequence" 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>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Set amino acid sequence to this.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>sequence</em> contains a one letter
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.GetBounds">
+<span class="sig-name descname"><span class="pre">GetBounds</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">all_atom</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetBounds" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p></p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/composite/#ost.geom.AlignedCuboid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.AlignedCuboid</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>all_atom</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – </p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.GetSequence">
+<span class="sig-name descname"><span class="pre">GetSequence</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetSequence" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The amino acid sequence.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.SetSequence">
+<span class="sig-name descname"><span class="pre">SetSequence</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sequence</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetSequence" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Set amino acid sequence to this.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>sequence</em> contains a one letter
 code which is not one of the 20 default amino acids or size of
-<em>sequence</em> does not match.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.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.BackboneList.Extract" 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">Items with indices <em>from</em>, …, <em>to</em>-1 of this list.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.ReplaceFragment">
-<code class="descname">ReplaceFragment</code><span class="sig-paren">(</span><em>sub_fragment</em>, <em>index</em>, <em>superpose_stems</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.ReplaceFragment" title="Permalink to this definition">¶</a></dt>
+<em>sequence</em> does not match.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.Extract">
+<span class="sig-name descname"><span class="pre">Extract</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">from</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">to</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.Extract" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Items with indices <em>from</em>, …, <em>to</em>-1 of this list.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.ReplaceFragment">
+<span class="sig-name descname"><span class="pre">ReplaceFragment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sub_fragment</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">superpose_stems</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.ReplaceFragment" title="Permalink to this definition">¶</a></dt>
 <dd><p>Replaces a fragment of the <a class="reference internal" href="#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a> starting at position
 <em>index</em> by the <em>sub_fragment</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>sub_fragment</strong> (<a class="reference internal" href="#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The fragment to be inserted</li>
-<li><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The position at which the fragment
-replacement will begin</li>
-<li><strong>superpose_stems</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If set to false, the function will simply
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>sub_fragment</strong> (<a class="reference internal" href="#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The fragment to be inserted</p></li>
+<li><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The position at which the fragment
+replacement will begin</p></li>
+<li><p><strong>superpose_stems</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If set to false, the function will simply
 replace the according
 <code class="xref py py-class docutils literal notranslate"><span class="pre">Backbone</span></code> objects. If set to True,
 the n-terminal and c-terminal tails are superposed onto the <em>sub_fragment</em>
 stems using the positions at <em>index</em> and
-<em>index</em> + len( <em>sub_fragment</em> )-1.</li>
+<em>index</em> + len( <em>sub_fragment</em> )-1.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if
 <em>sub_fragment</em> does not fully fit into
 actual fragment at specified <em>index</em></p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.GetN">
-<code class="descname">GetN</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetN" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.BackboneList.GetCA">
-<code class="descname">GetCA</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetCA" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.BackboneList.GetCB">
-<code class="descname">GetCB</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetCB" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.BackboneList.GetC">
-<code class="descname">GetC</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetC" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.BackboneList.GetO">
-<code class="descname">GetO</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetO" 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">Position of nitrogen / alpha carbon / beta carbon / carbon / oxygen
-atom for residue at given index.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a></td>
-</tr>
-<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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.SetN">
-<code class="descname">SetN</code><span class="sig-paren">(</span><em>index</em>, <em>pos</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetN" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.BackboneList.SetCA">
-<code class="descname">SetCA</code><span class="sig-paren">(</span><em>index</em>, <em>pos</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetCA" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.BackboneList.SetCB">
-<code class="descname">SetCB</code><span class="sig-paren">(</span><em>index</em>, <em>pos</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetCB" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.BackboneList.SetC">
-<code class="descname">SetC</code><span class="sig-paren">(</span><em>index</em>, <em>pos</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetC" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.BackboneList.SetO">
-<code class="descname">SetO</code><span class="sig-paren">(</span><em>index</em>, <em>pos</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetO" 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 last simple">
-<li><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</li>
-<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of nitrogen / alpha carbon / beta carbon / carbon
-/ oxygen atom to this.</li>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.GetN">
+<span class="sig-name descname"><span class="pre">GetN</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetN" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.GetCA">
+<span class="sig-name descname"><span class="pre">GetCA</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetCA" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.GetCB">
+<span class="sig-name descname"><span class="pre">GetCB</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetCB" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.GetC">
+<span class="sig-name descname"><span class="pre">GetC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetC" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.GetO">
+<span class="sig-name descname"><span class="pre">GetO</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetO" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Position of nitrogen / alpha carbon / beta carbon / carbon / oxygen
+atom for residue at given index.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.SetN">
+<span class="sig-name descname"><span class="pre">SetN</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetN" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.SetCA">
+<span class="sig-name descname"><span class="pre">SetCA</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetCA" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.SetCB">
+<span class="sig-name descname"><span class="pre">SetCB</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetCB" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.SetC">
+<span class="sig-name descname"><span class="pre">SetC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetC" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.SetO">
+<span class="sig-name descname"><span class="pre">SetO</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetO" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</p></li>
+<li><p><strong>pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of nitrogen / alpha carbon / beta carbon / carbon
+/ oxygen atom to this.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.GetOLC">
-<code class="descname">GetOLC</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetOLC" 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">One letter code of the residue at given index.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><code class="xref py py-class docutils literal notranslate"><span class="pre">char</span></code></td>
-</tr>
-<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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.SetOLC">
-<code class="descname">SetOLC</code><span class="sig-paren">(</span><em>index</em>, <em>olc</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetOLC" 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 last simple">
-<li><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</li>
-<li><strong>olc</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">char</span></code>) – Set one letter code of the residue to this.</li>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.GetOLC">
+<span class="sig-name descname"><span class="pre">GetOLC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetOLC" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>One letter code of the residue at given index.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-class docutils literal notranslate"><span class="pre">char</span></code></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.SetOLC">
+<span class="sig-name descname"><span class="pre">SetOLC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">olc</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetOLC" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</p></li>
+<li><p><strong>olc</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">char</span></code>) – Set one letter code of the residue to this.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.GetAA">
-<code class="descname">GetAA</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetAA" 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">Amino acid type of the residue at given index.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a></td>
-</tr>
-<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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.SetAA">
-<code class="descname">SetAA</code><span class="sig-paren">(</span><em>index</em>, <em>aa</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetAA" 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>index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</li>
-<li><strong>aa</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – Set amino acid type of the residue to this.</li>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.GetAA">
+<span class="sig-name descname"><span class="pre">GetAA</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetAA" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Amino acid type of the residue at given index.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.SetAA">
+<span class="sig-name descname"><span class="pre">SetAA</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">aa</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetAA" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</p></li>
+<li><p><strong>aa</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – Set amino acid type of the residue to this.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>aa</em> == ost.conop.XXX.</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.Set">
-<code class="descname">Set</code><span class="sig-paren">(</span><em>index</em>, <em>n_pos</em>, <em>ca_pos</em>, <em>cb_pos</em>, <em>c_pos</em>, <em>o_pos</em>, <em>olc</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.Set" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">Set</code><span class="sig-paren">(</span><em>index</em>, <em>n_pos</em>, <em>ca_pos</em>, <em>c_pos</em>, <em>o_pos</em>, <em>olc</em><span class="sig-paren">)</span></dt>
-<dt>
-<code class="descname">Set</code><span class="sig-paren">(</span><em>index</em>, <em>res</em>, <em>olc</em><span class="sig-paren">)</span></dt>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>aa</em> == ost.conop.XXX.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.Set">
+<span class="sig-name descname"><span class="pre">Set</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ca_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cb_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">o_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">olc</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.Set" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">Set</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ca_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">o_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">olc</span></span></em><span class="sig-paren">)</span></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">Set</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">olc</span></span></em><span class="sig-paren">)</span></dt>
 <dd><p>Set all backbone informations. This will reconstruct CB positions if needed
 and set the amino acid type according to the given one letter code.</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</li>
-<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ResidueHandle</span></code></a>) – Residue from which to extract backbone atom positions</li>
-<li><strong>n_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of nitrogen atom to this.</li>
-<li><strong>ca_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of alpha carbon atom to this.</li>
-<li><strong>cb_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of beta carbon atom to this.</li>
-<li><strong>c_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of carbon atom to this.</li>
-<li><strong>o_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of oxygen atom to this.</li>
-<li><strong>olc</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">char</span></code>) – Set one letter code of the residue to this.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</p></li>
+<li><p><strong>res</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ResidueHandle</span></code></a>) – Residue from which to extract backbone atom positions</p></li>
+<li><p><strong>n_pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of nitrogen atom to this.</p></li>
+<li><p><strong>ca_pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of alpha carbon atom to this.</p></li>
+<li><p><strong>cb_pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of beta carbon atom to this.</p></li>
+<li><p><strong>c_pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of carbon atom to this.</p></li>
+<li><p><strong>o_pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of oxygen atom to this.</p></li>
+<li><p><strong>olc</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">char</span></code>) – Set one letter code of the residue to this.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.__len__">
-<code class="descname">__len__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.__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 residues in this backbone list.</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.resize">
-<code class="descname">resize</code><span class="sig-paren">(</span><em>new_size</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.resize" 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>new_size</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Resize backbone list to contain this number of residues.
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.__len__">
+<span class="sig-name descname"><span class="pre">__len__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.__len__" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Number of residues in this backbone list.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.resize">
+<span class="sig-name descname"><span class="pre">resize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">new_size</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.resize" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>new_size</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Resize backbone list to contain this number of residues.
 If new residues are added, their properties will not be
 initialized. Existing residues are untouched unless the
-list is shrinked (in that case extra residues are deleted).</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.empty">
-<code class="descname">empty</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.empty" 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 if the list is empty (i.e. size 0).</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.append">
-<code class="descname">append</code><span class="sig-paren">(</span><em>n_pos</em>, <em>ca_pos</em>, <em>cb_pos</em>, <em>c_pos</em>, <em>o_pos</em>, <em>olc</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.append" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">append</code><span class="sig-paren">(</span><em>n_pos</em>, <em>ca_pos</em>, <em>c_pos</em>, <em>o_pos</em>, <em>olc</em><span class="sig-paren">)</span></dt>
-<dt>
-<code class="descname">append</code><span class="sig-paren">(</span><em>res</em>, <em>olc</em><span class="sig-paren">)</span></dt>
+list is shrinked (in that case extra residues are deleted).</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.empty">
+<span class="sig-name descname"><span class="pre">empty</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.empty" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>True if the list is empty (i.e. size 0).</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.append">
+<span class="sig-name descname"><span class="pre">append</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ca_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cb_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">o_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">olc</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.append" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">append</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ca_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">o_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">olc</span></span></em><span class="sig-paren">)</span></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">append</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">olc</span></span></em><span class="sig-paren">)</span></dt>
 <dd><p>Appends a new residue at the end of the <a class="reference internal" href="#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>. This will
 reconstruct CB positions if needed and set the amino acid type according
 to the given one letter code.</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>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ResidueHandle</span></code></a>) – Residue from which to extract backbone atom positions</li>
-<li><strong>n_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of nitrogen atom to this.</li>
-<li><strong>ca_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of alpha carbon atom to this.</li>
-<li><strong>cb_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of beta carbon atom to this.</li>
-<li><strong>c_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of carbon atom to this.</li>
-<li><strong>o_pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of oxygen atom to this.</li>
-<li><strong>olc</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">char</span></code>) – Set one letter code of the residue to this.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>res</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ResidueHandle</span></code></a>) – Residue from which to extract backbone atom positions</p></li>
+<li><p><strong>n_pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of nitrogen atom to this.</p></li>
+<li><p><strong>ca_pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of alpha carbon atom to this.</p></li>
+<li><p><strong>cb_pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of beta carbon atom to this.</p></li>
+<li><p><strong>c_pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of carbon atom to this.</p></li>
+<li><p><strong>o_pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>) – Set position of oxygen atom to this.</p></li>
+<li><p><strong>olc</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">char</span></code>) – Set one letter code of the residue to this.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.BackboneList.clear">
-<code class="descname">clear</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.clear" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.clear">
+<span class="sig-name descname"><span class="pre">clear</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.clear" title="Permalink to this definition">¶</a></dt>
 <dd><p>Remove all residues from this list.</p>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.BackboneList.Copy">
-<code class="descname">Copy</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.Copy" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.Copy">
+<span class="sig-name descname"><span class="pre">Copy</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.Copy" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates and returns a deep copy of this <a class="reference internal" href="#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>. This can be
 useful, since Python uses reference assignments.</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">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.BackboneList.ReconstructCBetaPositions">
-<code class="descname">ReconstructCBetaPositions</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.ReconstructCBetaPositions" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.ReconstructCBetaPositions">
+<span class="sig-name descname"><span class="pre">ReconstructCBetaPositions</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.ReconstructCBetaPositions" title="Permalink to this definition">¶</a></dt>
 <dd><p>Does a simple reconstruction of all CB positions based on the current
 N, CA and C positions.</p>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.BackboneList.ReconstructOxygenPositions">
-<code class="descname">ReconstructOxygenPositions</code><span class="sig-paren">(</span><em>last_psi=-0.78540</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.ReconstructOxygenPositions" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.ReconstructOxygenPositions">
+<span class="sig-name descname"><span class="pre">ReconstructOxygenPositions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">last_psi</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-0.78540</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.ReconstructOxygenPositions" title="Permalink to this definition">¶</a></dt>
 <dd><p>Does a simple reconstruction of all oxygen positions based on the actual
 N, CA and C positions. The position of the last oxygen depends on the next
 residue, an additional parameter is therefore required.</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>last_psi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Psi angle of the last BackboneList residue,
-the default value corresponds to a typical alpha-helix.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>last_psi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Psi angle of the last BackboneList residue,
+the default value corresponds to a typical alpha-helix.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.BackboneList.ReconstructCStemOxygen">
-<code class="descname">ReconstructCStemOxygen</code><span class="sig-paren">(</span><em>after_c_stem</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.ReconstructCStemOxygen" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.ReconstructCStemOxygen">
+<span class="sig-name descname"><span class="pre">ReconstructCStemOxygen</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">after_c_stem</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.ReconstructCStemOxygen" title="Permalink to this definition">¶</a></dt>
 <dd><p>Reconstructs the last oxygen of this backbone list. The oxygen position
 depends on the residue following the C stem. The position is only
 reconstructed if the residue handle is valid.</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>after_c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue following the C stem (C stem residue is last
-element of this backbone list)</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>after_c_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue following the C stem (C stem residue is last
+element of this backbone list)</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.BackboneList.ApplyTransform">
-<code class="descname">ApplyTransform</code><span class="sig-paren">(</span><em>index</em>, <em>transform</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.ApplyTransform" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.ApplyTransform">
+<span class="sig-name descname"><span class="pre">ApplyTransform</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">transform</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.ApplyTransform" title="Permalink to this definition">¶</a></dt>
 <dd><p>Applies a transformation to the positions of a single residue.</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</li>
-<li><strong>transform</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Mat4</span></code></a>) – The transformation</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</p></li>
+<li><p><strong>transform</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Mat4</span></code></a>) – The transformation</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">ApplyTransform</code><span class="sig-paren">(</span><em>from</em>, <em>to</em>, <em>transform</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id5">
+<span class="sig-name descname"><span class="pre">ApplyTransform</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">from</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">to</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">transform</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id5" title="Permalink to this definition">¶</a></dt>
 <dd><p>Applies a transformation to the positions of the residues with indices
 <em>from</em>, …, <em>to</em>-1 of this 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 last simple">
-<li><strong>from</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Start index.</li>
-<li><strong>to</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – End index (one past last residue to transform).</li>
-<li><strong>transform</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Mat4</span></code></a>) – The transformation</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>from</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Start index.</p></li>
+<li><p><strong>to</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – End index (one past last residue to transform).</p></li>
+<li><p><strong>transform</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Mat4</span></code></a>) – The transformation</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">ApplyTransform</code><span class="sig-paren">(</span><em>transform</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id6">
+<span class="sig-name descname"><span class="pre">ApplyTransform</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">transform</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id6" title="Permalink to this definition">¶</a></dt>
 <dd><p>Applies a transformation to all positions of this 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>transform</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Transform</span></code> / <a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Mat4</span></code></a>) – The transformation</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.GetTransform">
-<code class="descname">GetTransform</code><span class="sig-paren">(</span><em>index</em>, <em>res</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetTransform" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">GetTransform</code><span class="sig-paren">(</span><em>index</em>, <em>other</em>, <em>other_index</em><span class="sig-paren">)</span></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"><p class="first">Minimum RMSD transformation of residue <em>index</em> onto <em>res</em> or
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>transform</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Transform</span></code> / <a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Mat4</span></code></a>) – The transformation</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.GetTransform">
+<span class="sig-name descname"><span class="pre">GetTransform</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetTransform" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">GetTransform</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">other</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">other_index</span></span></em><span class="sig-paren">)</span></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Minimum RMSD transformation of residue <em>index</em> onto <em>res</em> or
 residue <em>other_index</em> of <em>other</em> backbone list considering the
 positions of the N, CA and C atoms.</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Mat4</span></code></a></p>
-</td>
-</tr>
-<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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</li>
-<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The other residue.</li>
-<li><strong>other</strong> (<a class="reference internal" href="#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The other backbone list.</li>
-<li><strong>other_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index in <em>other</em> backbone list.</li>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Mat4</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</p></li>
+<li><p><strong>res</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The other residue.</p></li>
+<li><p><strong>other</strong> (<a class="reference internal" href="#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The other backbone list.</p></li>
+<li><p><strong>other_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index in <em>other</em> backbone list.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt>
-<code class="descname">GetTransform</code><span class="sig-paren">(</span><em>other</em><span class="sig-paren">)</span></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">Get minimum RMSD transformation of CA positions of this backbone
-list onto CA positions of <em>other</em> backbone list.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Mat4</span></code></a></td>
-</tr>
-<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.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The other backbone list.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.SuperposeOnto">
-<code class="descname">SuperposeOnto</code><span class="sig-paren">(</span><em>other</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SuperposeOnto" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="id7">
+<span class="sig-name descname"><span class="pre">GetTransform</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id7" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Get minimum RMSD transformation of CA positions of this backbone
+list onto CA positions of <em>other</em> backbone list.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Mat4</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>other</strong> (<a class="reference internal" href="#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The other backbone list.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.SuperposeOnto">
+<span class="sig-name descname"><span class="pre">SuperposeOnto</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SuperposeOnto" title="Permalink to this definition">¶</a></dt>
 <dd><p>Superposes this backbone list onto another one using CA 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>other</strong> (<a class="reference internal" href="#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The other backbone list.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.RotateAroundPhiTorsion">
-<code class="descname">RotateAroundPhiTorsion</code><span class="sig-paren">(</span><em>index</em>, <em>phi</em>, <em>sequential=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.RotateAroundPhiTorsion" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.BackboneList.RotateAroundPsiTorsion">
-<code class="descname">RotateAroundPsiTorsion</code><span class="sig-paren">(</span><em>index</em>, <em>psi</em>, <em>sequential=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.RotateAroundPsiTorsion" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.BackboneList.RotateAroundOmegaTorsion">
-<code class="descname">RotateAroundOmegaTorsion</code><span class="sig-paren">(</span><em>index</em>, <em>omega</em>, <em>sequential=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.RotateAroundOmegaTorsion" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.BackboneList.RotateAroundPhiPsiTorsion">
-<code class="descname">RotateAroundPhiPsiTorsion</code><span class="sig-paren">(</span><em>index</em>, <em>phi</em>, <em>psi</em>, <em>sequential=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.RotateAroundPhiPsiTorsion" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.BackboneList.SetAroundPhiTorsion">
-<code class="descname">SetAroundPhiTorsion</code><span class="sig-paren">(</span><em>index</em>, <em>phi</em>, <em>sequential=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetAroundPhiTorsion" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.BackboneList.SetAroundPsiTorsion">
-<code class="descname">SetAroundPsiTorsion</code><span class="sig-paren">(</span><em>index</em>, <em>psi</em>, <em>sequential=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetAroundPsiTorsion" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.BackboneList.SetAroundOmegaTorsion">
-<code class="descname">SetAroundOmegaTorsion</code><span class="sig-paren">(</span><em>index</em>, <em>omega</em>, <em>sequential=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetAroundOmegaTorsion" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.BackboneList.SetAroundPhiPsiTorsion">
-<code class="descname">SetAroundPhiPsiTorsion</code><span class="sig-paren">(</span><em>index</em>, <em>phi</em>, <em>psi</em>, <em>sequential=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetAroundPhiPsiTorsion" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>other</strong> (<a class="reference internal" href="#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The other backbone list.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.RotateAroundPhiTorsion">
+<span class="sig-name descname"><span class="pre">RotateAroundPhiTorsion</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">phi</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sequential</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.RotateAroundPhiTorsion" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.RotateAroundPsiTorsion">
+<span class="sig-name descname"><span class="pre">RotateAroundPsiTorsion</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sequential</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.RotateAroundPsiTorsion" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.RotateAroundOmegaTorsion">
+<span class="sig-name descname"><span class="pre">RotateAroundOmegaTorsion</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">omega</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sequential</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.RotateAroundOmegaTorsion" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.RotateAroundPhiPsiTorsion">
+<span class="sig-name descname"><span class="pre">RotateAroundPhiPsiTorsion</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">phi</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sequential</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.RotateAroundPhiPsiTorsion" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.SetAroundPhiTorsion">
+<span class="sig-name descname"><span class="pre">SetAroundPhiTorsion</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">phi</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sequential</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetAroundPhiTorsion" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.SetAroundPsiTorsion">
+<span class="sig-name descname"><span class="pre">SetAroundPsiTorsion</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sequential</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetAroundPsiTorsion" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.SetAroundOmegaTorsion">
+<span class="sig-name descname"><span class="pre">SetAroundOmegaTorsion</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">omega</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sequential</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetAroundOmegaTorsion" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.SetAroundPhiPsiTorsion">
+<span class="sig-name descname"><span class="pre">SetAroundPhiPsiTorsion</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">phi</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sequential</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetAroundPhiPsiTorsion" title="Permalink to this definition">¶</a></dt>
 <dd><p>Rotates/sets the phi/psi/omega torsion angle of the backbone at position
 <em>index</em> in the backbone list by/to the given angle(s).</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</li>
-<li><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle by which to rotate phi torsion.</li>
-<li><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle by which to rotate psi torsion.</li>
-<li><strong>omega</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle by which to rotate omega torsion.</li>
-<li><strong>sequential</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If <em>True</em>, the rotation will be propagated to all
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</p></li>
+<li><p><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle by which to rotate phi torsion.</p></li>
+<li><p><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle by which to rotate psi torsion.</p></li>
+<li><p><strong>omega</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle by which to rotate omega torsion.</p></li>
+<li><p><strong>sequential</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If <em>True</em>, the rotation will be propagated to all
 residues after the one with <em>index</em>. Otherwise, it will
 be propagated in the direction where it will affect the
-least number of residues.</li>
+least number of residues.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.GetPhiTorsion">
-<code class="descname">GetPhiTorsion</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetPhiTorsion" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.BackboneList.GetPsiTorsion">
-<code class="descname">GetPsiTorsion</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetPsiTorsion" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.BackboneList.GetOmegaTorsion">
-<code class="descname">GetOmegaTorsion</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetOmegaTorsion" 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 phi/psi/omega torsion angle for residue at given index.</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-<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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.TransOmegaTorsions">
-<code class="descname">TransOmegaTorsions</code><span class="sig-paren">(</span><em>thresh=20/180*pi</em>, <em>allow_prepro_cis=True</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.TransOmegaTorsions" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.GetPhiTorsion">
+<span class="sig-name descname"><span class="pre">GetPhiTorsion</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetPhiTorsion" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.GetPsiTorsion">
+<span class="sig-name descname"><span class="pre">GetPsiTorsion</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetPsiTorsion" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.GetOmegaTorsion">
+<span class="sig-name descname"><span class="pre">GetOmegaTorsion</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.GetOmegaTorsion" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The phi/psi/omega torsion angle for residue at given index.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.TransOmegaTorsions">
+<span class="sig-name descname"><span class="pre">TransOmegaTorsions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thresh</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</span> <span class="pre">/</span> <span class="pre">180</span> <span class="pre">*</span> <span class="pre">pi</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allow_prepro_cis</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.TransOmegaTorsions" title="Permalink to this definition">¶</a></dt>
 <dd><p>Checks whether this backbone list only contains trans omega torsion angles.
 Usually, you would want this to be the case, but it can fail if you have any
 unfavorable omega torsion angle in your backbone.</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>thresh</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Allowed deviation from ideal trans angle (pi)</li>
-<li><strong>allow_prepro_cis</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, whether cis-omega torsions should be
-allowed in case of a subsequent proline.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Allowed deviation from ideal trans angle (pi)</p></li>
+<li><p><strong>allow_prepro_cis</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, whether cis-omega torsions should be
+allowed in case of a subsequent proline.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">whether <em>bb_list</em> only contains trans-omega torsions.</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</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"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if size of this backbone list is
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>whether <em>bb_list</em> only contains trans-omega torsions.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if size of this backbone list is
 smaller than 3.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.BackboneList.SetBackrub">
-<code class="descname">SetBackrub</code><span class="sig-paren">(</span><em>index</em>, <em>primary_rot_angle</em>, <em>flanking_rot_angle_one</em>, <em>flanking_rot_angle_two</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetBackrub" title="Permalink to this definition">¶</a></dt>
-<dd><p>Applies a backrub motion <a class="reference internal" href="../references.html#davis2006" id="id1">[davis2006]</a> at residue defined by <strong>index</strong>.
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.SetBackrub">
+<span class="sig-name descname"><span class="pre">SetBackrub</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">primary_rot_angle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">flanking_rot_angle_one</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">flanking_rot_angle_two</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.SetBackrub" title="Permalink to this definition">¶</a></dt>
+<dd><p>Applies a backrub motion <a class="reference internal" href="../references.html#davis2006" id="id8"><span>[davis2006]</span></a> at residue defined by <strong>index</strong>.
 The first rotation axis is defined by the CA positions from residues at
 <strong>index</strong> -1 and <strong>index</strong> +1. All atoms in between get rotated around this
 axis by <strong>primary_rot_angle</strong>. To restore the the hydrogen bond network
@@ -872,105 +769,93 @@ position with an angle of <strong>flanking_rot_angle_one</strong>. The second ro
 around the axis from the transformed central CA position to the CA position
 from residue at position <strong>index</strong> +1 with an angle of
 <strong>flanking_rot_angle_two</strong>.</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>index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Position of central residue of the backrub motion</li>
-<li><strong>primary_rot_angle</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle of the first rotation in radians</li>
-<li><strong>flanking_rot_angle_one</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle of the first compensatory rotation
-in radians</li>
-<li><strong>flanking_rot_angle_two</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle of the second compensatory rotation
-in radians</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Position of central residue of the backrub motion</p></li>
+<li><p><strong>primary_rot_angle</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle of the first rotation in radians</p></li>
+<li><p><strong>flanking_rot_angle_one</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle of the first compensatory rotation
+in radians</p></li>
+<li><p><strong>flanking_rot_angle_two</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle of the second compensatory rotation
+in radians</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <strong>index</strong> is smaller 1 or
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <strong>index</strong> is smaller 1 or
 larger size of BackboneList - 2</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">SetBackrub</code><span class="sig-paren">(</span><em>index</em>, <em>primary_rot_angle</em><span class="optional">[</span>, <em>scaling=1.0</em><span class="optional">]</span><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id9">
+<span class="sig-name descname"><span class="pre">SetBackrub</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">primary_rot_angle</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">scaling=1.0</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#id9" title="Permalink to this definition">¶</a></dt>
 <dd><p>Applies the backrub motion described above but calculates the ideal angles
 for the compensatory rotations in a way, that the new oxygen positions are
 as close as possible to the original ones. The ideal angles can be scaled
 down by <strong>scaling</strong> to make them less extreme.</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>index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Position of central residue of the backrub motion</li>
-<li><strong>primary_rot_angle</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle of the first rotation in radians</li>
-<li><strong>scaling</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The ideal angles for the compensatory rotations will
-be scaled by this value.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Position of central residue of the backrub motion</p></li>
+<li><p><strong>primary_rot_angle</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle of the first rotation in radians</p></li>
+<li><p><strong>scaling</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The ideal angles for the compensatory rotations will
+be scaled by this value.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <strong>index</strong> is smaller 1 or
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <strong>index</strong> is smaller 1 or
 larger size of BackboneList - 2</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.MinCADistance">
-<code class="descname">MinCADistance</code><span class="sig-paren">(</span><em>other</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.MinCADistance" 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">Minimal pairwise CA-distance between this and the <em>other</em>
-backbone list.</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-<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.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The other backbone list.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.BackboneList.RMSD">
-<code class="descname">RMSD</code><span class="sig-paren">(</span><em>other</em>, <em>superposed_rmsd=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.RMSD" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.BackboneList.CARMSD">
-<code class="descname">CARMSD</code><span class="sig-paren">(</span><em>other</em>, <em>superposed_rmsd=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.CARMSD" 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"><p class="first">RMSD / C-alpha RMSD between this and the <em>other</em> backbone list.</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>other</strong> (<a class="reference internal" href="#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The other backbone list.</li>
-<li><strong>superposed_rmsd</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to superpose before calculating the RMSD.</li>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.MinCADistance">
+<span class="sig-name descname"><span class="pre">MinCADistance</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.MinCADistance" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Minimal pairwise CA-distance between this and the <em>other</em>
+backbone list.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>other</strong> (<a class="reference internal" href="#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The other backbone list.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.RMSD">
+<span class="sig-name descname"><span class="pre">RMSD</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">superposed_rmsd</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.RMSD" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.BackboneList.CARMSD">
+<span class="sig-name descname"><span class="pre">CARMSD</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">superposed_rmsd</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.BackboneList.CARMSD" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>RMSD / C-alpha RMSD between this and the <em>other</em> backbone list.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>other</strong> (<a class="reference internal" href="#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The other backbone list.</p></li>
+<li><p><strong>superposed_rmsd</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to superpose before calculating the RMSD.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -991,12 +876,12 @@ backbone list.</td>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -1013,8 +898,8 @@ backbone list.</td>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a><ul>
-      <li>Previous: <a href="index.html" title="previous chapter"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a><ul>
+      <li>Previous: <a href="index.html" title="previous chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
       <li>Next: <a href="torsion_sampler.html" title="next chapter">Sampling Dihedral Angles</a></li>
   </ul></li>
   </ul></li>
@@ -1022,27 +907,33 @@ backbone list.</td>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/loop/backbone.rst.txt"
diff --git a/doc/html/loop/index.html b/doc/html/loop/index.html
index d031b39d5221fdb45a4ee1d1e8fc2161eab8df44..4903bc3913cc5cffd1e6159960d53a70803855f3 100644
--- a/doc/html/loop/index.html
+++ b/doc/html/loop/index.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>loop - Loop Handling &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>loop - Loop Handling &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Representing Loops" href="backbone.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,15 +31,17 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="module-promod3.loop">
-<span id="loop-loop-handling"></span><h1><a class="reference internal" href="#module-promod3.loop" title="promod3.loop: Loop Handling"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code></a> - Loop Handling<a class="headerlink" href="#module-promod3.loop" title="Permalink to this headline">¶</a></h1>
+  <section id="module-promod3.loop">
+<span id="loop-loop-handling"></span><h1><a class="reference internal" href="#module-promod3.loop" title="promod3.loop: Loop Handling"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code></a> - Loop Handling<a class="headerlink" href="#module-promod3.loop" title="Permalink to this heading">¶</a></h1>
 <p>Tools and algorithms for loop handling. This module provides ways for
 representation of peptides and to obtain fragments to potentially use as
 loops. The following example should give you an idea of what can be done:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span><span class="p">,</span> <span class="n">seq</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">loop</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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">seq</span>
+<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">loop</span>
 
 <span class="c1"># load an example structure</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="s1">&#39;data/1CRN.pdb&#39;</span><span class="p">)</span>
@@ -105,18 +108,27 @@ loops. The following example should give you an idea of what can be done:</p>
 <li class="toctree-l2"><a class="reference internal" href="all_atom.html#distinguishing-amino-acid-atoms">Distinguishing amino acid atoms</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="mm_system_creation.html">Generate <code class="docutils literal notranslate"><span class="pre">ost.mol.mm</span></code> systems</a><ul>
+<li class="toctree-l1"><a class="reference internal" href="mm_system_creation.html">Generate <code class="xref py py-mod docutils literal notranslate"><span class="pre">ost.mol.mm</span></code> systems</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="mm_system_creation.html#create-mm-systems-for-loops">Create MM systems for loops</a></li>
 <li class="toctree-l2"><a class="reference internal" href="mm_system_creation.html#forcefield-lookup-for-amino-acids">Forcefield lookup for amino acids</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="load_loop_objects.html">Loading Precomputed Objects</a></li>
+<li class="toctree-l1"><a class="reference internal" href="load_loop_objects.html">Loading Precomputed Objects</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="load_loop_objects.html#promod3.loop.LoadTorsionSampler"><code class="docutils literal notranslate"><span class="pre">LoadTorsionSampler()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="load_loop_objects.html#promod3.loop.LoadTorsionSamplerCoil"><code class="docutils literal notranslate"><span class="pre">LoadTorsionSamplerCoil()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="load_loop_objects.html#promod3.loop.LoadTorsionSamplerHelical"><code class="docutils literal notranslate"><span class="pre">LoadTorsionSamplerHelical()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="load_loop_objects.html#promod3.loop.LoadTorsionSamplerExtended"><code class="docutils literal notranslate"><span class="pre">LoadTorsionSamplerExtended()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="load_loop_objects.html#promod3.loop.LoadStructureDB"><code class="docutils literal notranslate"><span class="pre">LoadStructureDB()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="load_loop_objects.html#promod3.loop.LoadFragDB"><code class="docutils literal notranslate"><span class="pre">LoadFragDB()</span></code></a></li>
+</ul>
+</li>
 </ul>
 </div>
-</div>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -137,12 +149,12 @@ loops. The following example should give you an idea of what can be done:</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -166,27 +178,33 @@ loops. The following example should give you an idea of what can be done:</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/loop/index.rst.txt"
diff --git a/doc/html/loop/load_loop_objects.html b/doc/html/loop/load_loop_objects.html
index a2d25fd6f34b570c9e97e65d9e7b1b1f6cc8647c..cd9a35a8bc7c66767d6e8adb81906f735cd57251 100644
--- a/doc/html/loop/load_loop_objects.html
+++ b/doc/html/loop/load_loop_objects.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Loading Precomputed Objects &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Loading Precomputed Objects &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="core - ProMod3 Core Functionality" href="../core/index.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,132 +31,127 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="loading-precomputed-objects">
-<h1>Loading Precomputed Objects<a class="headerlink" href="#loading-precomputed-objects" title="Permalink to this headline">¶</a></h1>
+  <section id="loading-precomputed-objects">
+<h1>Loading Precomputed Objects<a class="headerlink" href="#loading-precomputed-objects" title="Permalink to this heading">¶</a></h1>
 <p>Several data objects are used throughout the loop module.
 ProMod3 offers to load precomputed instances for direct usage.</p>
-<dl class="method">
-<dt id="promod3.loop.LoadTorsionSampler">
-<code class="descclassname">promod3.loop.</code><code class="descname">LoadTorsionSampler</code><span class="sig-paren">(</span><em>seed=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoadTorsionSampler" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.LoadTorsionSampler">
+<span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">LoadTorsionSampler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoadTorsionSampler" title="Permalink to this definition">¶</a></dt>
 <dd><p>Loads and returns a torsion sampler with an amino acid grouping
-as defined by <a class="reference internal" href="../references.html#solis2006" id="id1">[solis2006]</a> that has been trained on
+as defined by <a class="reference internal" href="../references.html#solis2006" id="id1"><span>[solis2006]</span></a> that has been trained on
 non-redundant protein structures.</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>seed</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for internal random number generator</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The torsion sampler</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for internal random number generator</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The torsion sampler</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.LoadTorsionSamplerCoil">
-<code class="descclassname">promod3.loop.</code><code class="descname">LoadTorsionSamplerCoil</code><span class="sig-paren">(</span><em>seed=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoadTorsionSamplerCoil" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.LoadTorsionSamplerCoil">
+<span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">LoadTorsionSamplerCoil</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoadTorsionSamplerCoil" title="Permalink to this definition">¶</a></dt>
 <dd><p>Loads and returns a torsion sampler with an amino acid grouping
-as defined by <a class="reference internal" href="../references.html#solis2006" id="id2">[solis2006]</a> that has been trained on coil
+as defined by <a class="reference internal" href="../references.html#solis2006" id="id2"><span>[solis2006]</span></a> that has been trained on coil
 residues of  non-redundant protein structures.</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>seed</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for internal random number generator</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The torsion sampler</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for internal random number generator</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The torsion sampler</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.LoadTorsionSamplerHelical">
-<code class="descclassname">promod3.loop.</code><code class="descname">LoadTorsionSamplerHelical</code><span class="sig-paren">(</span><em>seed=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoadTorsionSamplerHelical" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.LoadTorsionSamplerHelical">
+<span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">LoadTorsionSamplerHelical</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoadTorsionSamplerHelical" title="Permalink to this definition">¶</a></dt>
 <dd><p>Loads and returns a torsion sampler with an amino acid grouping
-as defined by <a class="reference internal" href="../references.html#solis2006" id="id3">[solis2006]</a> that has been trained on helical
+as defined by <a class="reference internal" href="../references.html#solis2006" id="id3"><span>[solis2006]</span></a> that has been trained on helical
 residues of  non-redundant protein structures.</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>seed</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for internal random number generator</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The torsion sampler</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for internal random number generator</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The torsion sampler</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.LoadTorsionSamplerExtended">
-<code class="descclassname">promod3.loop.</code><code class="descname">LoadTorsionSamplerExtended</code><span class="sig-paren">(</span><em>seed=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoadTorsionSamplerExtended" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.LoadTorsionSamplerExtended">
+<span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">LoadTorsionSamplerExtended</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoadTorsionSamplerExtended" title="Permalink to this definition">¶</a></dt>
 <dd><p>Loads and returns a torsion sampler with an amino acid grouping
-as defined by <a class="reference internal" href="../references.html#solis2006" id="id4">[solis2006]</a> that has been trained on extended
+as defined by <a class="reference internal" href="../references.html#solis2006" id="id4"><span>[solis2006]</span></a> that has been trained on extended
 residues of  non-redundant protein structures.</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>seed</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for internal random number generator</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The torsion sampler</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for internal random number generator</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The torsion sampler</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.LoadStructureDB">
-<code class="descclassname">promod3.loop.</code><code class="descname">LoadStructureDB</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoadStructureDB" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.LoadStructureDB">
+<span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">LoadStructureDB</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.LoadStructureDB" title="Permalink to this definition">¶</a></dt>
 <dd><p>Loads and returns a structure db containing roughly 21000 chains form the
 PDB with seqid redundancy cutoff of 60%</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 structure db</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="structure_db.html#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The structure db</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="structure_db.html#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<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>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.LoadFragDB">
+<span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">LoadFragDB</span></span><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 containing fragments up to the length of 14,
 therefore capable of bridging gaps up to the length of 12. The returned
 databases contains the location of fragments in the <a class="reference internal" href="structure_db.html#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a>
 returned by <a class="reference internal" href="#promod3.loop.LoadStructureDB" title="promod3.loop.LoadStructureDB"><code class="xref py py-meth docutils literal notranslate"><span class="pre">LoadStructureDB()</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">Returns:</th><td class="field-body">The Fragment database</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="structure_db.html#promod3.loop.FragDB" title="promod3.loop.FragDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragDB</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The Fragment database</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="structure_db.html#promod3.loop.FragDB" title="promod3.loop.FragDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragDB</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -176,12 +172,12 @@ returned by <a class="reference internal" href="#promod3.loop.LoadStructureDB" t
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -198,36 +194,42 @@ returned by <a class="reference internal" href="#promod3.loop.LoadStructureDB" t
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a><ul>
-      <li>Previous: <a href="mm_system_creation.html" title="previous chapter">Generate <code class="docutils literal notranslate"><span class="pre">ost.mol.mm</span></code> systems</a></li>
-      <li>Next: <a href="../core/index.html" title="next chapter"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a><ul>
+      <li>Previous: <a href="mm_system_creation.html" title="previous chapter">Generate <code class="xref py py-mod docutils literal notranslate"><span class="pre">ost.mol.mm</span></code> systems</a></li>
+      <li>Next: <a href="../core/index.html" title="next chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
   </ul></li>
   </ul></li>
   </ul></li>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/loop/load_loop_objects.rst.txt"
diff --git a/doc/html/loop/mm_system_creation.html b/doc/html/loop/mm_system_creation.html
index b1e50413487d64ba6adeddabb5329f3aecb9f064..ed68d034b4a676569de3d93832cf9493de85b11c 100644
--- a/doc/html/loop/mm_system_creation.html
+++ b/doc/html/loop/mm_system_creation.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Generate ost.mol.mm systems &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Generate ost.mol.mm systems &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Loading Precomputed Objects" href="load_loop_objects.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,16 +31,18 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="generate-ost-mol-mm-systems">
-<h1>Generate <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/molmm/#module-ost.mol.mm" title="(in OpenStructure v2.4.0)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ost.mol.mm</span></code></a> systems<a class="headerlink" href="#generate-ost-mol-mm-systems" title="Permalink to this headline">¶</a></h1>
-<p>To simplify the creation of <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/molmm/#module-ost.mol.mm" title="(in OpenStructure v2.4.0)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ost.mol.mm</span></code></a> / OpenMM simulations for loops in
+  <section id="generate-ost-mol-mm-systems">
+<h1>Generate <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/molmm/#module-ost.mol.mm" title="(in OpenStructure v2.9.2)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ost.mol.mm</span></code></a> systems<a class="headerlink" href="#generate-ost-mol-mm-systems" title="Permalink to this heading">¶</a></h1>
+<p>To simplify the creation of <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/molmm/#module-ost.mol.mm" title="(in OpenStructure v2.9.2)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ost.mol.mm</span></code></a> / OpenMM simulations for loops in
 proteins, we define a system creator for loops (<a class="reference internal" href="#promod3.loop.MmSystemCreator" title="promod3.loop.MmSystemCreator"><code class="xref py py-class docutils literal notranslate"><span class="pre">MmSystemCreator</span></code></a>) and a
 specialized forcefield lookup for amino acids (<a class="reference internal" href="#promod3.loop.ForcefieldLookup" title="promod3.loop.ForcefieldLookup"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldLookup</span></code></a>).</p>
 <p>The example below showcases the creation and use of an MM system:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span><span class="p">,</span> <span class="n">geom</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">loop</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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">geom</span>
+<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">loop</span>
 
 <span class="c1"># setup system creator</span>
 <span class="n">ff_lookup</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">ForcefieldLookup</span><span class="o">.</span><span class="n">GetDefault</span><span class="p">()</span>
@@ -79,79 +82,71 @@ specialized forcefield lookup for amino acids (<a class="reference internal" hre
 </pre></div>
 </div>
 <div class="admonition note">
-<p class="first admonition-title">Note</p>
-<p class="last">To simplify use when sidechains may be missing and the region of interest for
+<p class="admonition-title">Note</p>
+<p>To simplify use when sidechains may be missing and the region of interest for
 the MM system has to be determined, it might be better to use the simpler
 <a class="reference internal" href="../modelling/sidechain_reconstruction.html#promod3.modelling.SidechainReconstructor" title="promod3.modelling.SidechainReconstructor"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.modelling.SidechainReconstructor</span></code></a> and
 <a class="reference internal" href="../modelling/loop_closing.html#promod3.modelling.AllAtomRelaxer" title="promod3.modelling.AllAtomRelaxer"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.modelling.AllAtomRelaxer</span></code></a> classes. Even if all the sidechains
 are available, those classes will be helpful since the overhead to check
 sidechains without reconstructing them is minimal.</p>
 </div>
-<div class="section" id="create-mm-systems-for-loops">
-<h2>Create MM systems for loops<a class="headerlink" href="#create-mm-systems-for-loops" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.loop.MmSystemCreator">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">MmSystemCreator</code><span class="sig-paren">(</span><em>ff_lookup</em>, <em>fix_surrounding_hydrogens=True</em>, <em>kill_electrostatics=False</em>, <em>nonbonded_cutoff=8</em>, <em>inaccurate_pot_energy=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator" title="Permalink to this definition">¶</a></dt>
+<section id="create-mm-systems-for-loops">
+<h2>Create MM systems for loops<a class="headerlink" href="#create-mm-systems-for-loops" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.MmSystemCreator">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">MmSystemCreator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ff_lookup</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fix_surrounding_hydrogens</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">kill_electrostatics</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nonbonded_cutoff</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inaccurate_pot_energy</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator" title="Permalink to this definition">¶</a></dt>
 <dd><p>Setup a system creator for a specific forcefield. The constructor only stores
 the settings. Most setup work is done by <a class="reference internal" href="#promod3.loop.MmSystemCreator.SetupSystem" title="promod3.loop.MmSystemCreator.SetupSystem"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetupSystem()</span></code></a>.</p>
 <p>The idea is to have a set of movable loop residues and a set of fixed
 surrounding residues which interact with the loop.</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>ff_lookup</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldLookup" title="promod3.loop.ForcefieldLookup"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldLookup</span></code></a>) – Forcefield to use with this system creator.</li>
-<li><strong>fix_surrounding_hydrogens</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If False, the hydrogens of the surrounding
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>ff_lookup</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldLookup" title="promod3.loop.ForcefieldLookup"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldLookup</span></code></a>) – Forcefield to use with this system creator.</p></li>
+<li><p><strong>fix_surrounding_hydrogens</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If False, the hydrogens of the surrounding
 residues can move to improve H-bond building
 (True by default as it only has a minor
 impact on the result and a big one on
-performance).</li>
-<li><strong>kill_electrostatics</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If True, all charges are removed from the system.
+performance).</p></li>
+<li><p><strong>kill_electrostatics</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If True, all charges are removed from the system.
 This is good for H-bond building, but may be bad
-if residues in the surrounding are missing (gaps).</li>
-<li><strong>nonbonded_cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Defines cutoff to set for non bonded interactions.
+if residues in the surrounding are missing (gaps).</p></li>
+<li><p><strong>nonbonded_cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Defines cutoff to set for non bonded interactions.
 Recommended values: 5 if kill_electrostatics = True,
-8 otherwise. Negative value means no cutoff.</li>
-<li><strong>inaccurate_pot_energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If True, we do not set correct non-bonded
+8 otherwise. Negative value means no cutoff.</p></li>
+<li><p><strong>inaccurate_pot_energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If True, we do not set correct non-bonded
 interactions between fixed atoms. This leads
 to inaccurate pot. energies but it is faster and
 has no effect on simulation runs (e.g. ApplySD)
-otherwise.</li>
+otherwise.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.loop.MmSystemCreator.GetDisulfidBridges">
-<code class="descname">GetDisulfidBridges</code><span class="sig-paren">(</span><em>all_pos</em>, <em>res_indices</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.GetDisulfidBridges" 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"><p class="first">Pairs of indices (i,j), where res_indices[i] and res_indices[j] are
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.MmSystemCreator.GetDisulfidBridges">
+<span class="sig-name descname"><span class="pre">GetDisulfidBridges</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">all_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res_indices</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.GetDisulfidBridges" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Pairs of indices (i,j), where res_indices[i] and res_indices[j] are
 assumed to have a disulfid bridge (CYS-SG pairs within 2.5 A).</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#tuple" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> with two <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>all_pos</strong> (<a class="reference internal" href="all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Provides positions for each <em>res_indices[i]</em>.</li>
-<li><strong>res_indices</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue indices into <em>all_pos</em>.</li>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#tuple" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> with two <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>all_pos</strong> (<a class="reference internal" href="all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Provides positions for each <em>res_indices[i]</em>.</p></li>
+<li><p><strong>res_indices</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue indices into <em>all_pos</em>.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.MmSystemCreator.SetupSystem">
-<code class="descname">SetupSystem</code><span class="sig-paren">(</span><em>all_pos</em>, <em>res_indices</em>, <em>loop_length</em>, <em>is_n_ter</em>, <em>is_c_ter</em>, <em>disulfid_bridges</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.SetupSystem" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">SetupSystem</code><span class="sig-paren">(</span><em>all_pos</em>, <em>res_indices</em>, <em>loop_start_indices</em>, <em>loop_lengths</em>, <em>is_n_ter</em>, <em>is_c_ter</em>, <em>disulfid_bridges</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.MmSystemCreator.SetupSystem">
+<span class="sig-name descname"><span class="pre">SetupSystem</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">all_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res_indices</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">loop_length</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_n_ter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_c_ter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">disulfid_bridges</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.SetupSystem" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">SetupSystem</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">all_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res_indices</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">loop_start_indices</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">loop_lengths</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_n_ter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_c_ter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">disulfid_bridges</span></span></em><span class="sig-paren">)</span></dt>
 <dd><p>Setup a new system for the loop / surrounding defined by <em>all_pos</em> and
 <em>res_indices</em>. Positions are taken from <em>all_pos[res_indices[i]]</em> and each
 of them must have all heavy atoms defined. Residue <em>all_pos[i]</em> is assumed
@@ -174,67 +169,59 @@ loop length is defined.</p>
 <p>If possible, this uses the “CPU” platform in OpenMM using the env. variable
 <code class="docutils literal notranslate"><span class="pre">PM3_OPENMM_CPU_THREADS</span></code> to define the number of desired threads (1 thread
 is used if variable is undefined).</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>all_pos</strong> (<a class="reference internal" href="all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Provides positions for each <em>res_indices[i]</em>.</li>
-<li><strong>res_indices</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue indices into <em>all_pos</em>.</li>
-<li><strong>loop_length</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of single loop (incl. stems).</li>
-<li><strong>loop_start_indices</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Start indices of loops.</li>
-<li><strong>loop_lengths</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Lengths of loops (incl. stems).</li>
-<li><strong>is_n_ter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – For each <em>res_indices[i]</em>, <em>is_n_ter[i]</em> defines whether
-that residue is N-terminal.</li>
-<li><strong>is_c_ter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – For each <em>res_indices[i]</em>, <em>is_c_ter[i]</em> defines whether
-that residue is C-terminal.</li>
-<li><strong>disulfid_bridges</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#tuple" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> with two
-<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Pairs of indices (i,j), where res_indices[i] and
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>all_pos</strong> (<a class="reference internal" href="all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Provides positions for each <em>res_indices[i]</em>.</p></li>
+<li><p><strong>res_indices</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue indices into <em>all_pos</em>.</p></li>
+<li><p><strong>loop_length</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of single loop (incl. stems).</p></li>
+<li><p><strong>loop_start_indices</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Start indices of loops.</p></li>
+<li><p><strong>loop_lengths</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Lengths of loops (incl. stems).</p></li>
+<li><p><strong>is_n_ter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – For each <em>res_indices[i]</em>, <em>is_n_ter[i]</em> defines whether
+that residue is N-terminal.</p></li>
+<li><p><strong>is_c_ter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – For each <em>res_indices[i]</em>, <em>is_c_ter[i]</em> defines whether
+that residue is C-terminal.</p></li>
+<li><p><strong>disulfid_bridges</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#tuple" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> with two
+<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Pairs of indices (i,j), where res_indices[i] and
 res_indices[j] form a disulfid bridge (see
-<a class="reference internal" href="#promod3.loop.MmSystemCreator.GetDisulfidBridges" title="promod3.loop.MmSystemCreator.GetDisulfidBridges"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetDisulfidBridges()</span></code></a>)</li>
+<a class="reference internal" href="#promod3.loop.MmSystemCreator.GetDisulfidBridges" title="promod3.loop.MmSystemCreator.GetDisulfidBridges"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetDisulfidBridges()</span></code></a>)</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if loops out of bounds with respect
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if loops out of bounds with respect
 to <em>res_indices</em>, <em>loop_start_indices</em> / <em>loop_lengths</em> or
 <em>res_indices</em> / <em>is_n_ter</em> / <em>is_c_ter</em> have inconsistent lengths,
 or if any <em>all_pos[res_indices[i]]</em> is invalid or has unset heavy
 atoms.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.MmSystemCreator.UpdatePositions">
-<code class="descname">UpdatePositions</code><span class="sig-paren">(</span><em>all_pos</em>, <em>res_indices</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.UpdatePositions" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.MmSystemCreator.UpdatePositions">
+<span class="sig-name descname"><span class="pre">UpdatePositions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">all_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res_indices</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.UpdatePositions" title="Permalink to this definition">¶</a></dt>
 <dd><p>Updates the positions in the system. Even though <a class="reference internal" href="#promod3.loop.MmSystemCreator.SetupSystem" title="promod3.loop.MmSystemCreator.SetupSystem"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetupSystem()</span></code></a> is
 already very fast, this can speed up resetting a simulation. The data must
 be consistent with the data used in the last <a class="reference internal" href="#promod3.loop.MmSystemCreator.SetupSystem" title="promod3.loop.MmSystemCreator.SetupSystem"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetupSystem()</span></code></a> call.</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>all_pos</strong> (<a class="reference internal" href="all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Provides positions for each <em>res_indices[i]</em>.</li>
-<li><strong>res_indices</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue indices into <em>all_pos</em>.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>all_pos</strong> (<a class="reference internal" href="all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Provides positions for each <em>res_indices[i]</em>.</p></li>
+<li><p><strong>res_indices</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue indices into <em>all_pos</em>.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if data is inconsistent with last
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if data is inconsistent with last
 <a class="reference internal" href="#promod3.loop.MmSystemCreator.SetupSystem" title="promod3.loop.MmSystemCreator.SetupSystem"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetupSystem()</span></code></a> call (same number of residues, same AA).</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.MmSystemCreator.ExtractLoopPositions">
-<code class="descname">ExtractLoopPositions</code><span class="sig-paren">(</span><em>loop_pos</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.ExtractLoopPositions" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">ExtractLoopPositions</code><span class="sig-paren">(</span><em>out_pos</em>, <em>res_indices</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.MmSystemCreator.ExtractLoopPositions">
+<span class="sig-name descname"><span class="pre">ExtractLoopPositions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">loop_pos</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.ExtractLoopPositions" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">ExtractLoopPositions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">out_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res_indices</span></span></em><span class="sig-paren">)</span></dt>
 <dd><p>Extracts loop positions from the current simulation. If the simulation was
 run (via <a class="reference internal" href="#promod3.loop.MmSystemCreator.GetSimulation" title="promod3.loop.MmSystemCreator.GetSimulation"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetSimulation()</span></code></a>), we internally have new positions for the
 residues corresponding to <em>all_pos[res_indices[i]]</em> passed in
@@ -250,1292 +237,1095 @@ matching amino acid types with respect to the loop residues passed as
 acid types for <em>out_pos[res_indices[i]]</em> and <em>all_pos[res_indices[i]]</em> of
 <a class="reference internal" href="#promod3.loop.MmSystemCreator.SetupSystem" title="promod3.loop.MmSystemCreator.SetupSystem"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetupSystem()</span></code></a>. Only loop residues with <em>i</em> in the ranges defined by
 <a class="reference internal" href="#promod3.loop.MmSystemCreator.GetLoopStartIndices" title="promod3.loop.MmSystemCreator.GetLoopStartIndices"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetLoopStartIndices()</span></code></a> / <a class="reference internal" href="#promod3.loop.MmSystemCreator.GetLoopLengths" title="promod3.loop.MmSystemCreator.GetLoopLengths"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetLoopLengths()</span></code></a> are touched.</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>loop_pos</strong> (<a class="reference internal" href="all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Reduced storage only covering loop positions.</li>
-<li><strong>out_pos</strong> (<a class="reference internal" href="all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Storage for loop positions linked to <em>res_indices</em>.</li>
-<li><strong>res_indices</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue indices into <em>out_pos</em>.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>loop_pos</strong> (<a class="reference internal" href="all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Reduced storage only covering loop positions.</p></li>
+<li><p><strong>out_pos</strong> (<a class="reference internal" href="all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Storage for loop positions linked to <em>res_indices</em>.</p></li>
+<li><p><strong>res_indices</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue indices into <em>out_pos</em>.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if data is inconsistent with last
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if data is inconsistent with last
 <a class="reference internal" href="#promod3.loop.MmSystemCreator.SetupSystem" title="promod3.loop.MmSystemCreator.SetupSystem"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetupSystem()</span></code></a> call (big enough and matching AA).</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.MmSystemCreator.GetSimulation">
-<code class="descname">GetSimulation</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.GetSimulation" 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">Simulation object setup by <a class="reference internal" href="#promod3.loop.MmSystemCreator.SetupSystem" title="promod3.loop.MmSystemCreator.SetupSystem"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetupSystem()</span></code></a>. Use this to run
-MM simulations.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/simulation/#ost.mol.mm.Simulation" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.mm.Simulation</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.MmSystemCreator.GetNumResidues">
-<code class="descname">GetNumResidues</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.GetNumResidues" 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 residues of current simulation setup.</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.MmSystemCreator.GetNumLoopResidues">
-<code class="descname">GetNumLoopResidues</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.GetNumLoopResidues" 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 loop residues (incl. stems) of current simulation setup.</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.MmSystemCreator.GetLoopStartIndices">
-<code class="descname">GetLoopStartIndices</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.GetLoopStartIndices" 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">Start indices of loops (see <a class="reference internal" href="#promod3.loop.MmSystemCreator.SetupSystem" title="promod3.loop.MmSystemCreator.SetupSystem"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetupSystem()</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.MmSystemCreator.GetLoopLengths">
-<code class="descname">GetLoopLengths</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.GetLoopLengths" 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">Lengths of loops (see <a class="reference internal" href="#promod3.loop.MmSystemCreator.SetupSystem" title="promod3.loop.MmSystemCreator.SetupSystem"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetupSystem()</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.MmSystemCreator.GetForcefieldAminoAcids">
-<code class="descname">GetForcefieldAminoAcids</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.GetForcefieldAminoAcids" 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">Forcefield-specific amino acid type for each residue of last
-<a class="reference internal" href="#promod3.loop.MmSystemCreator.SetupSystem" title="promod3.loop.MmSystemCreator.SetupSystem"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetupSystem()</span></code></a> call.</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.MmSystemCreator.GetIndexing">
-<code class="descname">GetIndexing</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.GetIndexing" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.MmSystemCreator.GetSimulation">
+<span class="sig-name descname"><span class="pre">GetSimulation</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.GetSimulation" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Simulation object setup by <a class="reference internal" href="#promod3.loop.MmSystemCreator.SetupSystem" title="promod3.loop.MmSystemCreator.SetupSystem"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetupSystem()</span></code></a>. Use this to run
+MM simulations.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/simulation/#ost.mol.mm.Simulation" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.mm.Simulation</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.MmSystemCreator.GetNumResidues">
+<span class="sig-name descname"><span class="pre">GetNumResidues</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.GetNumResidues" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Number of residues of current simulation setup.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.MmSystemCreator.GetNumLoopResidues">
+<span class="sig-name descname"><span class="pre">GetNumLoopResidues</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.GetNumLoopResidues" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Number of loop residues (incl. stems) of current simulation setup.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.MmSystemCreator.GetLoopStartIndices">
+<span class="sig-name descname"><span class="pre">GetLoopStartIndices</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.GetLoopStartIndices" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Start indices of loops (see <a class="reference internal" href="#promod3.loop.MmSystemCreator.SetupSystem" title="promod3.loop.MmSystemCreator.SetupSystem"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetupSystem()</span></code></a>).</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.MmSystemCreator.GetLoopLengths">
+<span class="sig-name descname"><span class="pre">GetLoopLengths</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.GetLoopLengths" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Lengths of loops (see <a class="reference internal" href="#promod3.loop.MmSystemCreator.SetupSystem" title="promod3.loop.MmSystemCreator.SetupSystem"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetupSystem()</span></code></a>).</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.MmSystemCreator.GetForcefieldAminoAcids">
+<span class="sig-name descname"><span class="pre">GetForcefieldAminoAcids</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.GetForcefieldAminoAcids" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Forcefield-specific amino acid type for each residue of last
+<a class="reference internal" href="#promod3.loop.MmSystemCreator.SetupSystem" title="promod3.loop.MmSystemCreator.SetupSystem"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetupSystem()</span></code></a> call.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.MmSystemCreator.GetIndexing">
+<span class="sig-name descname"><span class="pre">GetIndexing</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.GetIndexing" title="Permalink to this definition">¶</a></dt>
 <dd><p>The atoms of residue <em>i</em> are stored from <em>idx[i]</em> to <em>idx[i+1]-1</em>, where
 <em>idx</em> is the list returned by this function. The atoms themselves are
 ordered according to the indexing defined by <a class="reference internal" href="#promod3.loop.ForcefieldLookup" title="promod3.loop.ForcefieldLookup"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldLookup</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">Returns:</th><td class="field-body">Indexing to positions vector used by the simulation object.
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Indexing to positions vector used by the simulation object.
 The last item of the list contains the number of atoms in the
-system.</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.MmSystemCreator.GetCpuPlatformSupport">
-<code class="descname">GetCpuPlatformSupport</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.GetCpuPlatformSupport" 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, if we will use OpenMM’s “CPU” platform (enabled by default
-if platform is available). False, if we use “Reference” platform.</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.MmSystemCreator.SetCpuPlatformSupport">
-<code class="descname">SetCpuPlatformSupport</code><span class="sig-paren">(</span><em>cpu_platform_support</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.SetCpuPlatformSupport" title="Permalink to this definition">¶</a></dt>
+system.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.MmSystemCreator.GetCpuPlatformSupport">
+<span class="sig-name descname"><span class="pre">GetCpuPlatformSupport</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.GetCpuPlatformSupport" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>True, if we will use OpenMM’s “CPU” platform (enabled by default
+if platform is available). False, if we use “Reference” platform.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.MmSystemCreator.SetCpuPlatformSupport">
+<span class="sig-name descname"><span class="pre">SetCpuPlatformSupport</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cpu_platform_support</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.MmSystemCreator.SetCpuPlatformSupport" title="Permalink to this definition">¶</a></dt>
 <dd><p>Override “CPU” platform support setting. Useful to force the use of the
 OpenMM’s “Reference” platform for testing (by default we use “CPU” if it is
 available).</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>cpu_platform_support</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True, if “CPU” platform desired (ignored if
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>cpu_platform_support</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True, if “CPU” platform desired (ignored if
 platform not available). False, if “Reference”
-platform desired.</td>
-</tr>
-</tbody>
-</table>
+platform desired.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="forcefield-lookup-for-amino-acids">
-<h2>Forcefield lookup for amino acids<a class="headerlink" href="#forcefield-lookup-for-amino-acids" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="forcefield-lookup-for-amino-acids">
+<h2>Forcefield lookup for amino acids<a class="headerlink" href="#forcefield-lookup-for-amino-acids" title="Permalink to this heading">¶</a></h2>
 <p>The <a class="reference internal" href="#promod3.loop.ForcefieldLookup" title="promod3.loop.ForcefieldLookup"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldLookup</span></code></a> class and its helpers define a fast way to extract
 FF specific data for amino acids in a protein. We distinguish amino acid types
 (and a few variants thereof) which may all be N- and/or C-terminal.</p>
-<dl class="class">
-<dt id="promod3.loop.ForcefieldLookup">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">ForcefieldLookup</code><a class="headerlink" href="#promod3.loop.ForcefieldLookup" title="Permalink to this definition">¶</a></dt>
-<dd><p>This class provides all functionality to generate <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/simulation/#ost.mol.mm.Simulation" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.mm.Simulation</span></code></a> objects. Specifically, we can:</p>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">ForcefieldLookup</span></span><a class="headerlink" href="#promod3.loop.ForcefieldLookup" title="Permalink to this definition">¶</a></dt>
+<dd><p>This class provides all functionality to generate <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/simulation/#ost.mol.mm.Simulation" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.mm.Simulation</span></code></a> objects. Specifically, we can:</p>
 <ul class="simple">
-<li>get a consistent indexing of each atom of each residue in [<em>0, N-1</em>], where
+<li><p>get a consistent indexing of each atom of each residue in [<em>0, N-1</em>], where
 <em>N</em> = <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetNumAtoms" title="promod3.loop.ForcefieldLookup.GetNumAtoms"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumAtoms()</span></code></a> (note that only OXT indexing depends on whether a
-residue is terminal)</li>
-<li>extract masses, charges and LJ-parameters for each atom (list of length <em>N</em>)</li>
-<li>extract connectivities (<a class="reference internal" href="#promod3.loop.ForcefieldConnectivity" title="promod3.loop.ForcefieldConnectivity"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldConnectivity</span></code></a>), which include all
-possible bonds, angles, dihedrals, impropers and LJ pairs</li>
+residue is terminal)</p></li>
+<li><p>extract masses, charges and LJ-parameters for each atom (list of length <em>N</em>)</p></li>
+<li><p>extract connectivities (<a class="reference internal" href="#promod3.loop.ForcefieldConnectivity" title="promod3.loop.ForcefieldConnectivity"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldConnectivity</span></code></a>), which include all
+possible bonds, angles, dihedrals, impropers and LJ pairs</p></li>
 </ul>
 <p>There is functionality to adapt the lookup and store it as needed or you can
 load a predefined one with <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetDefault" title="promod3.loop.ForcefieldLookup.GetDefault"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetDefault()</span></code></a> or <a class="reference internal" href="#promod3.loop.ForcefieldLookup.LoadCHARMM" title="promod3.loop.ForcefieldLookup.LoadCHARMM"><code class="xref py py-meth docutils literal notranslate"><span class="pre">LoadCHARMM()</span></code></a>.</p>
 <p>The atom indexing and <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetAA" title="promod3.loop.ForcefieldLookup.GetAA"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetAA()</span></code></a> are independent of the loaded file.</p>
-<dl class="staticmethod">
-<dt id="promod3.loop.ForcefieldLookup.GetDefault">
-<em class="property">static </em><code class="descname">GetDefault</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetDefault" 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">A default singleton instance (shared throughout the Python process)
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.GetDefault">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetDefault</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetDefault" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>A default singleton instance (shared throughout the Python process)
 of this class with all data defined. Using this instance has the
-advantage that the object is only loaded once!</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.loop.ForcefieldLookup" title="promod3.loop.ForcefieldLookup"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldLookup</span></code></a></td>
-</tr>
-</tbody>
-</table>
+advantage that the object is only loaded once!</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.loop.ForcefieldLookup" title="promod3.loop.ForcefieldLookup"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldLookup</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.loop.ForcefieldLookup.SetDefault">
-<em class="property">static </em><code class="descname">SetDefault</code><span class="sig-paren">(</span><em>new_default</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SetDefault" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.SetDefault">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">SetDefault</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">new_default</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SetDefault" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sets default singleton instance for all future <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetDefault" title="promod3.loop.ForcefieldLookup.GetDefault"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetDefault()</span></code></a> calls.</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>new_default</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldLookup" title="promod3.loop.ForcefieldLookup"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldLookup</span></code></a>) – Lookup object to use as the new default.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="staticmethod">
-<dt id="promod3.loop.ForcefieldLookup.LoadCHARMM">
-<em class="property">static </em><code class="descname">LoadCHARMM</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.LoadCHARMM" 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">Predefined lookup object extracted from a CHARMM forcefield
-(loaded from disk)</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.loop.ForcefieldLookup" title="promod3.loop.ForcefieldLookup"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldLookup</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="staticmethod">
-<dt id="promod3.loop.ForcefieldLookup.Load">
-<em class="property">static </em><code class="descname">Load</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.Load" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.ForcefieldLookup.LoadPortable">
-<em class="property">static </em><code class="descname">LoadPortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.LoadPortable" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>new_default</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldLookup" title="promod3.loop.ForcefieldLookup"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldLookup</span></code></a>) – Lookup object to use as the new default.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.LoadCHARMM">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LoadCHARMM</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.LoadCHARMM" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Predefined lookup object extracted from a CHARMM forcefield
+(loaded from disk)</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.loop.ForcefieldLookup" title="promod3.loop.ForcefieldLookup"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldLookup</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.Load">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.Load" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.LoadPortable">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LoadPortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.LoadPortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Loads raw binary file generated with <a class="reference internal" href="#promod3.loop.ForcefieldLookup.Save" title="promod3.loop.ForcefieldLookup.Save"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Save()</span></code></a> (optimized for fast
 reading) / portable file generated with <a class="reference internal" href="#promod3.loop.ForcefieldLookup.SavePortable" title="promod3.loop.ForcefieldLookup.SavePortable"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SavePortable()</span></code></a> (slower but
 less machine-dependent).</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The loaded lookup object</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.ForcefieldLookup" title="promod3.loop.ForcefieldLookup"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldLookup</span></code></a></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
-file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.Save">
-<code class="descname">Save</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.Save" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.ForcefieldLookup.SavePortable">
-<code class="descname">SavePortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SavePortable" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The loaded lookup object</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.loop.ForcefieldLookup" title="promod3.loop.ForcefieldLookup"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldLookup</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
+file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.Save">
+<span class="sig-name descname"><span class="pre">Save</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.Save" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.SavePortable">
+<span class="sig-name descname"><span class="pre">SavePortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SavePortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Saves a raw / portable binary representation. Use portable files for
 distribution and convert locally to raw files. See <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a>
 for details.</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.GetAA">
-<code class="descname">GetAA</code><span class="sig-paren">(</span><em>ff_aa</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetAA" 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">Amino acid type for given <em>ff_aa</em></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>ff_aa</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.GetNumAtoms">
-<code class="descname">GetNumAtoms</code><span class="sig-paren">(</span><em>ff_aa</em>, <em>is_nter</em>, <em>is_cter</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetNumAtoms" 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"><p class="first">Number of atoms for given input.</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>ff_aa</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type</li>
-<li><strong>is_nter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if N-terminal variant desired</li>
-<li><strong>is_cter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if C-terminal variant desired</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.GetAA">
+<span class="sig-name descname"><span class="pre">GetAA</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ff_aa</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetAA" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Amino acid type for given <em>ff_aa</em></p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>ff_aa</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.GetNumAtoms">
+<span class="sig-name descname"><span class="pre">GetNumAtoms</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ff_aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_nter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_cter</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetNumAtoms" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Number of atoms for given input.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>ff_aa</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type</p></li>
+<li><p><strong>is_nter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if N-terminal variant desired</p></li>
+<li><p><strong>is_cter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if C-terminal variant desired</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.GetHeavyIndex">
-<code class="descname">GetHeavyIndex</code><span class="sig-paren">(</span><em>ff_aa</em>, <em>atom_idx</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetHeavyIndex" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">GetHeavyIndex</code><span class="sig-paren">(</span><em>ff_aa</em>, <em>atom_name</em><span class="sig-paren">)</span></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"><p class="first">Internal index for given heavy atom in [0, <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetNumAtoms" title="promod3.loop.ForcefieldLookup.GetNumAtoms"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumAtoms()</span></code></a>]</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>ff_aa</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type</li>
-<li><strong>atom_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Atom index as returned by <a class="reference internal" href="all_atom.html#promod3.loop.AminoAcidLookup.GetIndex" title="promod3.loop.AminoAcidLookup.GetIndex"><code class="xref py py-meth docutils literal notranslate"><span class="pre">AminoAcidLookup.GetIndex()</span></code></a></li>
-<li><strong>atom_name</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Atom name</li>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.GetHeavyIndex">
+<span class="sig-name descname"><span class="pre">GetHeavyIndex</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ff_aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">atom_idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetHeavyIndex" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">GetHeavyIndex</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ff_aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">atom_name</span></span></em><span class="sig-paren">)</span></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Internal index for given heavy atom in [0, <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetNumAtoms" title="promod3.loop.ForcefieldLookup.GetNumAtoms"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumAtoms()</span></code></a>]</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>ff_aa</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type</p></li>
+<li><p><strong>atom_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Atom index as returned by <a class="reference internal" href="all_atom.html#promod3.loop.AminoAcidLookup.GetIndex" title="promod3.loop.AminoAcidLookup.GetIndex"><code class="xref py py-meth docutils literal notranslate"><span class="pre">AminoAcidLookup.GetIndex()</span></code></a></p></li>
+<li><p><strong>atom_name</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Atom name</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.GetHydrogenIndex">
-<code class="descname">GetHydrogenIndex</code><span class="sig-paren">(</span><em>ff_aa</em>, <em>atom_idx</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetHydrogenIndex" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">GetHydrogenIndex</code><span class="sig-paren">(</span><em>ff_aa</em>, <em>atom_name</em><span class="sig-paren">)</span></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"><p class="first">Internal index for given hydrogen atom in [0, <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetNumAtoms" title="promod3.loop.ForcefieldLookup.GetNumAtoms"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumAtoms()</span></code></a>]</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>ff_aa</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type</li>
-<li><strong>atom_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Atom index as returned by
-<a class="reference internal" href="all_atom.html#promod3.loop.AminoAcidLookup.GetHydrogenIndex" title="promod3.loop.AminoAcidLookup.GetHydrogenIndex"><code class="xref py py-meth docutils literal notranslate"><span class="pre">AminoAcidLookup.GetHydrogenIndex()</span></code></a></li>
-<li><strong>atom_name</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Atom name</li>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.GetHydrogenIndex">
+<span class="sig-name descname"><span class="pre">GetHydrogenIndex</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ff_aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">atom_idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetHydrogenIndex" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">GetHydrogenIndex</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ff_aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">atom_name</span></span></em><span class="sig-paren">)</span></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Internal index for given hydrogen atom in [0, <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetNumAtoms" title="promod3.loop.ForcefieldLookup.GetNumAtoms"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumAtoms()</span></code></a>]</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>ff_aa</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type</p></li>
+<li><p><strong>atom_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Atom index as returned by
+<a class="reference internal" href="all_atom.html#promod3.loop.AminoAcidLookup.GetHydrogenIndex" title="promod3.loop.AminoAcidLookup.GetHydrogenIndex"><code class="xref py py-meth docutils literal notranslate"><span class="pre">AminoAcidLookup.GetHydrogenIndex()</span></code></a></p></li>
+<li><p><strong>atom_name</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Atom name</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.GetOXTIndex">
-<code class="descname">GetOXTIndex</code><span class="sig-paren">(</span><em>ff_aa</em>, <em>is_nter</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetOXTIndex" 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"><p class="first">Internal index of OXT atom for C-terminal residue</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>ff_aa</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type</li>
-<li><strong>is_nter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if N-terminal variant desired</li>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.GetOXTIndex">
+<span class="sig-name descname"><span class="pre">GetOXTIndex</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ff_aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_nter</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetOXTIndex" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Internal index of OXT atom for C-terminal residue</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>ff_aa</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type</p></li>
+<li><p><strong>is_nter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if N-terminal variant desired</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.GetFudgeLJ">
-<code class="descname">GetFudgeLJ</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetFudgeLJ" 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">Dampening factor for LJ 1,4 interactions (see
-<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/topology/#ost.mol.mm.Topology.SetFudgeLJ" title="(in OpenStructure v2.4.0)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.SetFudgeLJ()</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.GetFudgeQQ">
-<code class="descname">GetFudgeQQ</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetFudgeQQ" 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">Dampening factor for electrostatic 1,4 interactions (see
-<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/topology/#ost.mol.mm.Topology.SetFudgeQQ" title="(in OpenStructure v2.4.0)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.SetFudgeQQ()</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.GetMasses">
-<code class="descname">GetMasses</code><span class="sig-paren">(</span><em>ff_aa</em>, <em>is_nter</em>, <em>is_cter</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetMasses" 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"><p class="first">Mass for each atom (see <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/topology/#ost.mol.mm.Topology.SetMasses" title="(in OpenStructure v2.4.0)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.SetMasses()</span></code></a>)</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a> (length = <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetNumAtoms" title="promod3.loop.ForcefieldLookup.GetNumAtoms"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumAtoms()</span></code></a>)</p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>ff_aa</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type</li>
-<li><strong>is_nter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if N-terminal variant desired</li>
-<li><strong>is_cter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if C-terminal variant desired</li>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.GetFudgeLJ">
+<span class="sig-name descname"><span class="pre">GetFudgeLJ</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetFudgeLJ" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Dampening factor for LJ 1,4 interactions (see
+<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/topology/#ost.mol.mm.Topology.SetFudgeLJ" title="(in OpenStructure v2.9.2)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.SetFudgeLJ()</span></code></a>)</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.GetFudgeQQ">
+<span class="sig-name descname"><span class="pre">GetFudgeQQ</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetFudgeQQ" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Dampening factor for electrostatic 1,4 interactions (see
+<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/topology/#ost.mol.mm.Topology.SetFudgeQQ" title="(in OpenStructure v2.9.2)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.SetFudgeQQ()</span></code></a>)</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.GetMasses">
+<span class="sig-name descname"><span class="pre">GetMasses</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ff_aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_nter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_cter</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetMasses" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Mass for each atom (see <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/topology/#ost.mol.mm.Topology.SetMasses" title="(in OpenStructure v2.9.2)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.SetMasses()</span></code></a>)</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a> (length = <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetNumAtoms" title="promod3.loop.ForcefieldLookup.GetNumAtoms"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumAtoms()</span></code></a>)</p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>ff_aa</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type</p></li>
+<li><p><strong>is_nter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if N-terminal variant desired</p></li>
+<li><p><strong>is_cter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if C-terminal variant desired</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.GetCharges">
-<code class="descname">GetCharges</code><span class="sig-paren">(</span><em>ff_aa</em>, <em>is_nter</em>, <em>is_cter</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetCharges" 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"><p class="first">Charge for each atom (see <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/topology/#ost.mol.mm.Topology.SetCharges" title="(in OpenStructure v2.4.0)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.SetCharges()</span></code></a>)</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a> (length = <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetNumAtoms" title="promod3.loop.ForcefieldLookup.GetNumAtoms"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumAtoms()</span></code></a>)</p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>ff_aa</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type</li>
-<li><strong>is_nter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if N-terminal variant desired</li>
-<li><strong>is_cter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if C-terminal variant desired</li>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.GetCharges">
+<span class="sig-name descname"><span class="pre">GetCharges</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ff_aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_nter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_cter</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetCharges" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Charge for each atom (see <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/topology/#ost.mol.mm.Topology.SetCharges" title="(in OpenStructure v2.9.2)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.SetCharges()</span></code></a>)</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a> (length = <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetNumAtoms" title="promod3.loop.ForcefieldLookup.GetNumAtoms"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumAtoms()</span></code></a>)</p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>ff_aa</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type</p></li>
+<li><p><strong>is_nter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if N-terminal variant desired</p></li>
+<li><p><strong>is_cter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if C-terminal variant desired</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.GetSigmas">
-<code class="descname">GetSigmas</code><span class="sig-paren">(</span><em>ff_aa</em>, <em>is_nter</em>, <em>is_cter</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetSigmas" 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"><p class="first">Sigma in nm for each atom
-(see <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/topology/#ost.mol.mm.Topology.SetSigmas" title="(in OpenStructure v2.4.0)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.SetSigmas()</span></code></a>)</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a> (length = <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetNumAtoms" title="promod3.loop.ForcefieldLookup.GetNumAtoms"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumAtoms()</span></code></a>)</p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>ff_aa</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type</li>
-<li><strong>is_nter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if N-terminal variant desired</li>
-<li><strong>is_cter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if C-terminal variant desired</li>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.GetSigmas">
+<span class="sig-name descname"><span class="pre">GetSigmas</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ff_aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_nter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_cter</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetSigmas" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Sigma in nm for each atom
+(see <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/topology/#ost.mol.mm.Topology.SetSigmas" title="(in OpenStructure v2.9.2)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.SetSigmas()</span></code></a>)</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a> (length = <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetNumAtoms" title="promod3.loop.ForcefieldLookup.GetNumAtoms"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumAtoms()</span></code></a>)</p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>ff_aa</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type</p></li>
+<li><p><strong>is_nter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if N-terminal variant desired</p></li>
+<li><p><strong>is_cter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if C-terminal variant desired</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.GetEpsilons">
-<code class="descname">GetEpsilons</code><span class="sig-paren">(</span><em>ff_aa</em>, <em>is_nter</em>, <em>is_cter</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetEpsilons" 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"><p class="first">Epsilon in kJ/mol for each atom
-(see <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/topology/#ost.mol.mm.Topology.SetEpsilons" title="(in OpenStructure v2.4.0)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.SetEpsilons()</span></code></a>)</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a> (length = <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetNumAtoms" title="promod3.loop.ForcefieldLookup.GetNumAtoms"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumAtoms()</span></code></a>)</p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>ff_aa</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type</li>
-<li><strong>is_nter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if N-terminal variant desired</li>
-<li><strong>is_cter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if C-terminal variant desired</li>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.GetEpsilons">
+<span class="sig-name descname"><span class="pre">GetEpsilons</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ff_aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_nter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_cter</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetEpsilons" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Epsilon in kJ/mol for each atom
+(see <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/topology/#ost.mol.mm.Topology.SetEpsilons" title="(in OpenStructure v2.9.2)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.SetEpsilons()</span></code></a>)</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a> (length = <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetNumAtoms" title="promod3.loop.ForcefieldLookup.GetNumAtoms"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumAtoms()</span></code></a>)</p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>ff_aa</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type</p></li>
+<li><p><strong>is_nter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if N-terminal variant desired</p></li>
+<li><p><strong>is_cter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if C-terminal variant desired</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.GetInternalConnectivity">
-<code class="descname">GetInternalConnectivity</code><span class="sig-paren">(</span><em>ff_aa</em>, <em>is_nter</em>, <em>is_cter</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetInternalConnectivity" 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"><p class="first">Internal connectivity of a residue</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="#promod3.loop.ForcefieldConnectivity" title="promod3.loop.ForcefieldConnectivity"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldConnectivity</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>ff_aa</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type</li>
-<li><strong>is_nter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if N-terminal variant desired</li>
-<li><strong>is_cter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if C-terminal variant desired</li>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.GetInternalConnectivity">
+<span class="sig-name descname"><span class="pre">GetInternalConnectivity</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ff_aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_nter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_cter</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetInternalConnectivity" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Internal connectivity of a residue</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.loop.ForcefieldConnectivity" title="promod3.loop.ForcefieldConnectivity"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldConnectivity</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>ff_aa</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type</p></li>
+<li><p><strong>is_nter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if N-terminal variant desired</p></li>
+<li><p><strong>is_cter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if C-terminal variant desired</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.GetPeptideBoundConnectivity">
-<code class="descname">GetPeptideBoundConnectivity</code><span class="sig-paren">(</span><em>ff_aa_one</em>, <em>ff_aa_two</em>, <em>is_nter</em>, <em>is_cter</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetPeptideBoundConnectivity" 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"><p class="first">All connectivity which include peptide bond between two residues
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.GetPeptideBoundConnectivity">
+<span class="sig-name descname"><span class="pre">GetPeptideBoundConnectivity</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ff_aa_one</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ff_aa_two</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_nter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_cter</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetPeptideBoundConnectivity" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>All connectivity which include peptide bond between two residues
 (additional to <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetInternalConnectivity" title="promod3.loop.ForcefieldLookup.GetInternalConnectivity"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetInternalConnectivity()</span></code></a>)</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="#promod3.loop.ForcefieldConnectivity" title="promod3.loop.ForcefieldConnectivity"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldConnectivity</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>ff_aa_one</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type of first residue</li>
-<li><strong>ff_aa_two</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type of second residue</li>
-<li><strong>is_nter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if first residue is N-terminal</li>
-<li><strong>is_cter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if second residue is C-terminal</li>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.loop.ForcefieldConnectivity" title="promod3.loop.ForcefieldConnectivity"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldConnectivity</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>ff_aa_one</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type of first residue</p></li>
+<li><p><strong>ff_aa_two</strong> (<a class="reference internal" href="#promod3.loop.ForcefieldAminoAcid" title="promod3.loop.ForcefieldAminoAcid"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldAminoAcid</span></code></a>) – Forcefield-specific amino acid type of second residue</p></li>
+<li><p><strong>is_nter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if first residue is N-terminal</p></li>
+<li><p><strong>is_cter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True if second residue is C-terminal</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.GetDisulfidConnectivity">
-<code class="descname">GetDisulfidConnectivity</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetDisulfidConnectivity" 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">All connectivity which include disulfid bridge between two cysteins
-(additional to <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetInternalConnectivity" title="promod3.loop.ForcefieldLookup.GetInternalConnectivity"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetInternalConnectivity()</span></code></a>)</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.loop.ForcefieldConnectivity" title="promod3.loop.ForcefieldConnectivity"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldConnectivity</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.SetFudgeLJ">
-<code class="descname">SetFudgeLJ</code><span class="sig-paren">(</span><em>fudge</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SetFudgeLJ" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.GetDisulfidConnectivity">
+<span class="sig-name descname"><span class="pre">GetDisulfidConnectivity</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.GetDisulfidConnectivity" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>All connectivity which include disulfid bridge between two cysteins
+(additional to <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetInternalConnectivity" title="promod3.loop.ForcefieldLookup.GetInternalConnectivity"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetInternalConnectivity()</span></code></a>)</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.loop.ForcefieldConnectivity" title="promod3.loop.ForcefieldConnectivity"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldConnectivity</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.SetFudgeLJ">
+<span class="sig-name descname"><span class="pre">SetFudgeLJ</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fudge</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SetFudgeLJ" title="Permalink to this definition">¶</a></dt>
 <dd><p>Set value for future <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetFudgeLJ" title="promod3.loop.ForcefieldLookup.GetFudgeLJ"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetFudgeLJ()</span></code></a> calls to <em>fudge</em>.</p>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.SetFudgeQQ">
-<code class="descname">SetFudgeQQ</code><span class="sig-paren">(</span><em>fudge</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SetFudgeQQ" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.SetFudgeQQ">
+<span class="sig-name descname"><span class="pre">SetFudgeQQ</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fudge</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SetFudgeQQ" title="Permalink to this definition">¶</a></dt>
 <dd><p>Set value for future <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetFudgeQQ" title="promod3.loop.ForcefieldLookup.GetFudgeQQ"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetFudgeQQ()</span></code></a> calls to <em>fudge</em>.</p>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.SetMasses">
-<code class="descname">SetMasses</code><span class="sig-paren">(</span><em>ff_aa</em>, <em>is_nter</em>, <em>is_cter</em>, <em>masses</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SetMasses" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.SetMasses">
+<span class="sig-name descname"><span class="pre">SetMasses</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ff_aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_nter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_cter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">masses</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SetMasses" title="Permalink to this definition">¶</a></dt>
 <dd><p>Set value for future <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetMasses" title="promod3.loop.ForcefieldLookup.GetMasses"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetMasses()</span></code></a> calls to <em>masses</em>.</p>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.SetCharges">
-<code class="descname">SetCharges</code><span class="sig-paren">(</span><em>ff_aa</em>, <em>is_nter</em>, <em>is_cter</em>, <em>charges</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SetCharges" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.SetCharges">
+<span class="sig-name descname"><span class="pre">SetCharges</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ff_aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_nter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_cter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">charges</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SetCharges" title="Permalink to this definition">¶</a></dt>
 <dd><p>Set value for future <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetCharges" title="promod3.loop.ForcefieldLookup.GetCharges"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetCharges()</span></code></a> calls to <em>charges</em>.</p>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.SetSigmas">
-<code class="descname">SetSigmas</code><span class="sig-paren">(</span><em>ff_aa</em>, <em>is_nter</em>, <em>is_cter</em>, <em>sigmas</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SetSigmas" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.SetSigmas">
+<span class="sig-name descname"><span class="pre">SetSigmas</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ff_aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_nter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_cter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sigmas</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SetSigmas" title="Permalink to this definition">¶</a></dt>
 <dd><p>Set value for future <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetSigmas" title="promod3.loop.ForcefieldLookup.GetSigmas"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetSigmas()</span></code></a> calls to <em>sigmas</em>.</p>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.SetEpsilons">
-<code class="descname">SetEpsilons</code><span class="sig-paren">(</span><em>ff_aa</em>, <em>is_nter</em>, <em>is_cter</em>, <em>epsilons</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SetEpsilons" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.SetEpsilons">
+<span class="sig-name descname"><span class="pre">SetEpsilons</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ff_aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_nter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_cter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">epsilons</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SetEpsilons" title="Permalink to this definition">¶</a></dt>
 <dd><p>Set value for future <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetEpsilons" title="promod3.loop.ForcefieldLookup.GetEpsilons"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetEpsilons()</span></code></a> calls to <em>epsilons</em>.</p>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.SetInternalConnectivity">
-<code class="descname">SetInternalConnectivity</code><span class="sig-paren">(</span><em>ff_aa</em>, <em>is_nter</em>, <em>is_cter</em>, <em>connectivity</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SetInternalConnectivity" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.SetInternalConnectivity">
+<span class="sig-name descname"><span class="pre">SetInternalConnectivity</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ff_aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_nter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_cter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">connectivity</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SetInternalConnectivity" title="Permalink to this definition">¶</a></dt>
 <dd><p>Set value for future <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetInternalConnectivity" title="promod3.loop.ForcefieldLookup.GetInternalConnectivity"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetInternalConnectivity()</span></code></a> calls to
 <em>connectivity</em>.</p>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.SetPeptideBoundConnectivity">
-<code class="descname">SetPeptideBoundConnectivity</code><span class="sig-paren">(</span><em>ff_aa_one</em>, <em>ff_aa_two</em>, <em>is_nter</em>, <em>is_cter</em>, <em>connectivity</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SetPeptideBoundConnectivity" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.SetPeptideBoundConnectivity">
+<span class="sig-name descname"><span class="pre">SetPeptideBoundConnectivity</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ff_aa_one</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ff_aa_two</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_nter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_cter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">connectivity</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SetPeptideBoundConnectivity" title="Permalink to this definition">¶</a></dt>
 <dd><p>Set value for future <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetPeptideBoundConnectivity" title="promod3.loop.ForcefieldLookup.GetPeptideBoundConnectivity"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetPeptideBoundConnectivity()</span></code></a> calls to
 <em>connectivity</em>.</p>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.ForcefieldLookup.SetDisulfidConnectivity">
-<code class="descname">SetDisulfidConnectivity</code><span class="sig-paren">(</span><em>connectivity</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SetDisulfidConnectivity" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLookup.SetDisulfidConnectivity">
+<span class="sig-name descname"><span class="pre">SetDisulfidConnectivity</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">connectivity</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.ForcefieldLookup.SetDisulfidConnectivity" title="Permalink to this definition">¶</a></dt>
 <dd><p>Set value for future <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetDisulfidConnectivity" title="promod3.loop.ForcefieldLookup.GetDisulfidConnectivity"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetDisulfidConnectivity()</span></code></a> calls to
 <em>connectivity</em>.</p>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.loop.ForcefieldAminoAcid">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">ForcefieldAminoAcid</code><a class="headerlink" href="#promod3.loop.ForcefieldAminoAcid" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldAminoAcid">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">ForcefieldAminoAcid</span></span><a class="headerlink" href="#promod3.loop.ForcefieldAminoAcid" title="Permalink to this definition">¶</a></dt>
 <dd><p>Enumerates the amino acid types for forcefields. The first 20 values
-correspond to the 20 values of <a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>. Additionally,
+correspond to the 20 values of <a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>. Additionally,
 there are values for disulfid bridges (<em>FF_CYS2</em>), d-protonated histidine
 (<em>FF_HISD</em>, default for <em>ost.conop.HIS</em> is <em>FF_HISE</em>) and <em>FF_XXX</em> for unknown
 types. The full list of values is:</p>
 <blockquote>
-<div><em>FF_ALA</em>, <em>FF_ARG</em>, <em>FF_ASN</em>, <em>FF_ASP</em>, <em>FF_GLN</em>, <em>FF_GLU</em>, <em>FF_LYS</em>,
+<div><p><em>FF_ALA</em>, <em>FF_ARG</em>, <em>FF_ASN</em>, <em>FF_ASP</em>, <em>FF_GLN</em>, <em>FF_GLU</em>, <em>FF_LYS</em>,
 <em>FF_SER</em>, <em>FF_CYS</em>, <em>FF_MET</em>, <em>FF_TRP</em>, <em>FF_TYR</em>, <em>FF_THR</em>, <em>FF_VAL</em>,
 <em>FF_ILE</em>, <em>FF_LEU</em>, <em>FF_GLY</em>, <em>FF_PRO</em> <em>FF_HISE</em>, <em>FF_PHE</em>, <em>FF_CYS2</em>,
-<em>FF_HISD</em>, <em>FF_XXX</em></div></blockquote>
+<em>FF_HISD</em>, <em>FF_XXX</em></p>
+</div></blockquote>
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.loop.ForcefieldConnectivity">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">ForcefieldConnectivity</code><a class="headerlink" href="#promod3.loop.ForcefieldConnectivity" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldConnectivity">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">ForcefieldConnectivity</span></span><a class="headerlink" href="#promod3.loop.ForcefieldConnectivity" title="Permalink to this definition">¶</a></dt>
 <dd><p>Contains lists of bonds, angles, dihedrals, impropers and LJ pairs (exclusions
 are the combination of all bonds and 1,3 pairs of angles and are not stored
 separately). Each type of connectivity has it’s own class (see below) storing
-indices and parameters to be used for methods of <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/topology/#ost.mol.mm.Topology" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.mm.Topology</span></code></a>.
+indices and parameters to be used for methods of <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/topology/#ost.mol.mm.Topology" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.mm.Topology</span></code></a>.
 The indexing of atoms for internal connectivities is in [<em>0, N-1</em>], where <em>N</em>
 = <a class="reference internal" href="#promod3.loop.ForcefieldLookup.GetNumAtoms" title="promod3.loop.ForcefieldLookup.GetNumAtoms"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ForcefieldLookup.GetNumAtoms()</span></code></a>. For connectivities of pairs of
 residues, atoms of the first residue are in [<em>0, N1-1</em>] and atoms of the
 second one are in [<em>N1, N1+N2-1</em>], where <em>N1</em> and <em>N2</em> are the number of atoms
 of the two residues. For disulfid bridges, <em>N1</em> = <em>N2</em> = <em>GetNumAtoms(FF_CYS2,
 False, False)</em>.</p>
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldConnectivity.harmonic_bonds">
-<code class="descname">harmonic_bonds</code><a class="headerlink" href="#promod3.loop.ForcefieldConnectivity.harmonic_bonds" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldConnectivity.harmonic_bonds">
+<span class="sig-name descname"><span class="pre">harmonic_bonds</span></span><a class="headerlink" href="#promod3.loop.ForcefieldConnectivity.harmonic_bonds" title="Permalink to this definition">¶</a></dt>
 <dd><p>List of harmonic 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">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.loop.ForcefieldBondInfo" title="promod3.loop.ForcefieldBondInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldBondInfo</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldConnectivity.harmonic_angles">
-<code class="descname">harmonic_angles</code><a class="headerlink" href="#promod3.loop.ForcefieldConnectivity.harmonic_angles" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.loop.ForcefieldBondInfo" title="promod3.loop.ForcefieldBondInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldBondInfo</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldConnectivity.harmonic_angles">
+<span class="sig-name descname"><span class="pre">harmonic_angles</span></span><a class="headerlink" href="#promod3.loop.ForcefieldConnectivity.harmonic_angles" title="Permalink to this definition">¶</a></dt>
 <dd><p>List of harmonic angles.</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.loop.ForcefieldHarmonicAngleInfo" title="promod3.loop.ForcefieldHarmonicAngleInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldHarmonicAngleInfo</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldConnectivity.urey_bradley_angles">
-<code class="descname">urey_bradley_angles</code><a class="headerlink" href="#promod3.loop.ForcefieldConnectivity.urey_bradley_angles" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.loop.ForcefieldHarmonicAngleInfo" title="promod3.loop.ForcefieldHarmonicAngleInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldHarmonicAngleInfo</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldConnectivity.urey_bradley_angles">
+<span class="sig-name descname"><span class="pre">urey_bradley_angles</span></span><a class="headerlink" href="#promod3.loop.ForcefieldConnectivity.urey_bradley_angles" title="Permalink to this definition">¶</a></dt>
 <dd><p>List of Urey-Bradley angles.</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.loop.ForcefieldUreyBradleyAngleInfo" title="promod3.loop.ForcefieldUreyBradleyAngleInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldUreyBradleyAngleInfo</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldConnectivity.periodic_dihedrals">
-<code class="descname">periodic_dihedrals</code><a class="headerlink" href="#promod3.loop.ForcefieldConnectivity.periodic_dihedrals" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.loop.ForcefieldUreyBradleyAngleInfo" title="promod3.loop.ForcefieldUreyBradleyAngleInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldUreyBradleyAngleInfo</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldConnectivity.periodic_dihedrals">
+<span class="sig-name descname"><span class="pre">periodic_dihedrals</span></span><a class="headerlink" href="#promod3.loop.ForcefieldConnectivity.periodic_dihedrals" title="Permalink to this definition">¶</a></dt>
 <dd><p>List of periodic dihedrals.</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.loop.ForcefieldPeriodicDihedralInfo" title="promod3.loop.ForcefieldPeriodicDihedralInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldPeriodicDihedralInfo</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldConnectivity.periodic_impropers">
-<code class="descname">periodic_impropers</code><a class="headerlink" href="#promod3.loop.ForcefieldConnectivity.periodic_impropers" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.loop.ForcefieldPeriodicDihedralInfo" title="promod3.loop.ForcefieldPeriodicDihedralInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldPeriodicDihedralInfo</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldConnectivity.periodic_impropers">
+<span class="sig-name descname"><span class="pre">periodic_impropers</span></span><a class="headerlink" href="#promod3.loop.ForcefieldConnectivity.periodic_impropers" title="Permalink to this definition">¶</a></dt>
 <dd><p>List of periodic impropers.</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.loop.ForcefieldPeriodicDihedralInfo" title="promod3.loop.ForcefieldPeriodicDihedralInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldPeriodicDihedralInfo</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldConnectivity.harmonic_impropers">
-<code class="descname">harmonic_impropers</code><a class="headerlink" href="#promod3.loop.ForcefieldConnectivity.harmonic_impropers" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.loop.ForcefieldPeriodicDihedralInfo" title="promod3.loop.ForcefieldPeriodicDihedralInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldPeriodicDihedralInfo</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldConnectivity.harmonic_impropers">
+<span class="sig-name descname"><span class="pre">harmonic_impropers</span></span><a class="headerlink" href="#promod3.loop.ForcefieldConnectivity.harmonic_impropers" title="Permalink to this definition">¶</a></dt>
 <dd><p>List of harmonic impropers.</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.loop.ForcefieldHarmonicImproperInfo" title="promod3.loop.ForcefieldHarmonicImproperInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldHarmonicImproperInfo</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldConnectivity.lj_pairs">
-<code class="descname">lj_pairs</code><a class="headerlink" href="#promod3.loop.ForcefieldConnectivity.lj_pairs" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.loop.ForcefieldHarmonicImproperInfo" title="promod3.loop.ForcefieldHarmonicImproperInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldHarmonicImproperInfo</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldConnectivity.lj_pairs">
+<span class="sig-name descname"><span class="pre">lj_pairs</span></span><a class="headerlink" href="#promod3.loop.ForcefieldConnectivity.lj_pairs" title="Permalink to this definition">¶</a></dt>
 <dd><p>List of LJ pairs.</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.loop.ForcefieldLJPairInfo" title="promod3.loop.ForcefieldLJPairInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldLJPairInfo</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.loop.ForcefieldLJPairInfo" title="promod3.loop.ForcefieldLJPairInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldLJPairInfo</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.loop.ForcefieldBondInfo">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">ForcefieldBondInfo</code><a class="headerlink" href="#promod3.loop.ForcefieldBondInfo" title="Permalink to this definition">¶</a></dt>
-<dd><p>Define harmonic bond (see <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/topology/#ost.mol.mm.Topology.AddHarmonicBond" title="(in OpenStructure v2.4.0)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.AddHarmonicBond()</span></code></a>)</p>
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldBondInfo.index_one">
-<code class="descname">index_one</code><a class="headerlink" href="#promod3.loop.ForcefieldBondInfo.index_one" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldBondInfo">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">ForcefieldBondInfo</span></span><a class="headerlink" href="#promod3.loop.ForcefieldBondInfo" title="Permalink to this definition">¶</a></dt>
+<dd><p>Define harmonic bond (see <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/topology/#ost.mol.mm.Topology.AddHarmonicBond" title="(in OpenStructure v2.9.2)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.AddHarmonicBond()</span></code></a>)</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldBondInfo.index_one">
+<span class="sig-name descname"><span class="pre">index_one</span></span><a class="headerlink" href="#promod3.loop.ForcefieldBondInfo.index_one" title="Permalink to this definition">¶</a></dt>
 <dd><p>Index of particle 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">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldBondInfo.index_two">
-<code class="descname">index_two</code><a class="headerlink" href="#promod3.loop.ForcefieldBondInfo.index_two" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldBondInfo.index_two">
+<span class="sig-name descname"><span class="pre">index_two</span></span><a class="headerlink" href="#promod3.loop.ForcefieldBondInfo.index_two" title="Permalink to this definition">¶</a></dt>
 <dd><p>Index of particle 2</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldBondInfo.bond_length">
-<code class="descname">bond_length</code><a class="headerlink" href="#promod3.loop.ForcefieldBondInfo.bond_length" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldBondInfo.bond_length">
+<span class="sig-name descname"><span class="pre">bond_length</span></span><a class="headerlink" href="#promod3.loop.ForcefieldBondInfo.bond_length" title="Permalink to this definition">¶</a></dt>
 <dd><p>Bond length in nm</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldBondInfo.force_constant">
-<code class="descname">force_constant</code><a class="headerlink" href="#promod3.loop.ForcefieldBondInfo.force_constant" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldBondInfo.force_constant">
+<span class="sig-name descname"><span class="pre">force_constant</span></span><a class="headerlink" href="#promod3.loop.ForcefieldBondInfo.force_constant" title="Permalink to this definition">¶</a></dt>
 <dd><p>Force constant in kJ/mol/nm^2</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.loop.ForcefieldHarmonicAngleInfo">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">ForcefieldHarmonicAngleInfo</code><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicAngleInfo" title="Permalink to this definition">¶</a></dt>
-<dd><p>Define harmonic angle (see <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/topology/#ost.mol.mm.Topology.AddHarmonicAngle" title="(in OpenStructure v2.4.0)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.AddHarmonicAngle()</span></code></a>)</p>
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldHarmonicAngleInfo.index_one">
-<code class="descname">index_one</code><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicAngleInfo.index_one" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldHarmonicAngleInfo">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">ForcefieldHarmonicAngleInfo</span></span><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicAngleInfo" title="Permalink to this definition">¶</a></dt>
+<dd><p>Define harmonic angle (see <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/topology/#ost.mol.mm.Topology.AddHarmonicAngle" title="(in OpenStructure v2.9.2)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.AddHarmonicAngle()</span></code></a>)</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldHarmonicAngleInfo.index_one">
+<span class="sig-name descname"><span class="pre">index_one</span></span><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicAngleInfo.index_one" title="Permalink to this definition">¶</a></dt>
 <dd><p>Index of particle 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">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldHarmonicAngleInfo.index_two">
-<code class="descname">index_two</code><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicAngleInfo.index_two" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldHarmonicAngleInfo.index_two">
+<span class="sig-name descname"><span class="pre">index_two</span></span><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicAngleInfo.index_two" title="Permalink to this definition">¶</a></dt>
 <dd><p>Index of particle 2</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldHarmonicAngleInfo.index_three">
-<code class="descname">index_three</code><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicAngleInfo.index_three" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldHarmonicAngleInfo.index_three">
+<span class="sig-name descname"><span class="pre">index_three</span></span><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicAngleInfo.index_three" title="Permalink to this definition">¶</a></dt>
 <dd><p>Index of particle 3</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldHarmonicAngleInfo.angle">
-<code class="descname">angle</code><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicAngleInfo.angle" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldHarmonicAngleInfo.angle">
+<span class="sig-name descname"><span class="pre">angle</span></span><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicAngleInfo.angle" title="Permalink to this definition">¶</a></dt>
 <dd><p>Angle in radians</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldHarmonicAngleInfo.force_constant">
-<code class="descname">force_constant</code><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicAngleInfo.force_constant" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldHarmonicAngleInfo.force_constant">
+<span class="sig-name descname"><span class="pre">force_constant</span></span><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicAngleInfo.force_constant" title="Permalink to this definition">¶</a></dt>
 <dd><p>Force constant in kJ/mol/radian^2</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.loop.ForcefieldUreyBradleyAngleInfo">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">ForcefieldUreyBradleyAngleInfo</code><a class="headerlink" href="#promod3.loop.ForcefieldUreyBradleyAngleInfo" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldUreyBradleyAngleInfo">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">ForcefieldUreyBradleyAngleInfo</span></span><a class="headerlink" href="#promod3.loop.ForcefieldUreyBradleyAngleInfo" title="Permalink to this definition">¶</a></dt>
 <dd><p>Define Urey-Bradley angle
-(see <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/topology/#ost.mol.mm.Topology.AddUreyBradleyAngle" title="(in OpenStructure v2.4.0)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.AddUreyBradleyAngle()</span></code></a>)</p>
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldUreyBradleyAngleInfo.index_one">
-<code class="descname">index_one</code><a class="headerlink" href="#promod3.loop.ForcefieldUreyBradleyAngleInfo.index_one" title="Permalink to this definition">¶</a></dt>
+(see <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/topology/#ost.mol.mm.Topology.AddUreyBradleyAngle" title="(in OpenStructure v2.9.2)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.AddUreyBradleyAngle()</span></code></a>)</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldUreyBradleyAngleInfo.index_one">
+<span class="sig-name descname"><span class="pre">index_one</span></span><a class="headerlink" href="#promod3.loop.ForcefieldUreyBradleyAngleInfo.index_one" title="Permalink to this definition">¶</a></dt>
 <dd><p>Index of particle 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">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldUreyBradleyAngleInfo.index_two">
-<code class="descname">index_two</code><a class="headerlink" href="#promod3.loop.ForcefieldUreyBradleyAngleInfo.index_two" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldUreyBradleyAngleInfo.index_two">
+<span class="sig-name descname"><span class="pre">index_two</span></span><a class="headerlink" href="#promod3.loop.ForcefieldUreyBradleyAngleInfo.index_two" title="Permalink to this definition">¶</a></dt>
 <dd><p>Index of particle 2</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldUreyBradleyAngleInfo.index_three">
-<code class="descname">index_three</code><a class="headerlink" href="#promod3.loop.ForcefieldUreyBradleyAngleInfo.index_three" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldUreyBradleyAngleInfo.index_three">
+<span class="sig-name descname"><span class="pre">index_three</span></span><a class="headerlink" href="#promod3.loop.ForcefieldUreyBradleyAngleInfo.index_three" title="Permalink to this definition">¶</a></dt>
 <dd><p>Index of particle 3</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldUreyBradleyAngleInfo.angle">
-<code class="descname">angle</code><a class="headerlink" href="#promod3.loop.ForcefieldUreyBradleyAngleInfo.angle" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldUreyBradleyAngleInfo.angle">
+<span class="sig-name descname"><span class="pre">angle</span></span><a class="headerlink" href="#promod3.loop.ForcefieldUreyBradleyAngleInfo.angle" title="Permalink to this definition">¶</a></dt>
 <dd><p>Angle in radians</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldUreyBradleyAngleInfo.angle_force_constant">
-<code class="descname">angle_force_constant</code><a class="headerlink" href="#promod3.loop.ForcefieldUreyBradleyAngleInfo.angle_force_constant" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldUreyBradleyAngleInfo.angle_force_constant">
+<span class="sig-name descname"><span class="pre">angle_force_constant</span></span><a class="headerlink" href="#promod3.loop.ForcefieldUreyBradleyAngleInfo.angle_force_constant" title="Permalink to this definition">¶</a></dt>
 <dd><p>Angle force constant kJ/mol/radian^2</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldUreyBradleyAngleInfo.bond_length">
-<code class="descname">bond_length</code><a class="headerlink" href="#promod3.loop.ForcefieldUreyBradleyAngleInfo.bond_length" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldUreyBradleyAngleInfo.bond_length">
+<span class="sig-name descname"><span class="pre">bond_length</span></span><a class="headerlink" href="#promod3.loop.ForcefieldUreyBradleyAngleInfo.bond_length" title="Permalink to this definition">¶</a></dt>
 <dd><p>Bond length in nm</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldUreyBradleyAngleInfo.bond_force_constant">
-<code class="descname">bond_force_constant</code><a class="headerlink" href="#promod3.loop.ForcefieldUreyBradleyAngleInfo.bond_force_constant" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldUreyBradleyAngleInfo.bond_force_constant">
+<span class="sig-name descname"><span class="pre">bond_force_constant</span></span><a class="headerlink" href="#promod3.loop.ForcefieldUreyBradleyAngleInfo.bond_force_constant" title="Permalink to this definition">¶</a></dt>
 <dd><p>Bond force constant kJ/mol/nm^2</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.loop.ForcefieldPeriodicDihedralInfo">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">ForcefieldPeriodicDihedralInfo</code><a class="headerlink" href="#promod3.loop.ForcefieldPeriodicDihedralInfo" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldPeriodicDihedralInfo">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">ForcefieldPeriodicDihedralInfo</span></span><a class="headerlink" href="#promod3.loop.ForcefieldPeriodicDihedralInfo" title="Permalink to this definition">¶</a></dt>
 <dd><p>Define periodic dihedral or improper (see
-<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/topology/#ost.mol.mm.Topology.AddPeriodicDihedral" title="(in OpenStructure v2.4.0)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.AddPeriodicDihedral()</span></code></a> and
-<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/topology/#ost.mol.mm.Topology.AddPeriodicImproper" title="(in OpenStructure v2.4.0)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.AddPeriodicImproper()</span></code></a>)</p>
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldPeriodicDihedralInfo.index_one">
-<code class="descname">index_one</code><a class="headerlink" href="#promod3.loop.ForcefieldPeriodicDihedralInfo.index_one" title="Permalink to this definition">¶</a></dt>
+<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/topology/#ost.mol.mm.Topology.AddPeriodicDihedral" title="(in OpenStructure v2.9.2)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.AddPeriodicDihedral()</span></code></a> and
+<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/topology/#ost.mol.mm.Topology.AddPeriodicImproper" title="(in OpenStructure v2.9.2)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.AddPeriodicImproper()</span></code></a>)</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldPeriodicDihedralInfo.index_one">
+<span class="sig-name descname"><span class="pre">index_one</span></span><a class="headerlink" href="#promod3.loop.ForcefieldPeriodicDihedralInfo.index_one" title="Permalink to this definition">¶</a></dt>
 <dd><p>Index of particle 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">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldPeriodicDihedralInfo.index_two">
-<code class="descname">index_two</code><a class="headerlink" href="#promod3.loop.ForcefieldPeriodicDihedralInfo.index_two" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldPeriodicDihedralInfo.index_two">
+<span class="sig-name descname"><span class="pre">index_two</span></span><a class="headerlink" href="#promod3.loop.ForcefieldPeriodicDihedralInfo.index_two" title="Permalink to this definition">¶</a></dt>
 <dd><p>Index of particle 2</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldPeriodicDihedralInfo.index_three">
-<code class="descname">index_three</code><a class="headerlink" href="#promod3.loop.ForcefieldPeriodicDihedralInfo.index_three" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldPeriodicDihedralInfo.index_three">
+<span class="sig-name descname"><span class="pre">index_three</span></span><a class="headerlink" href="#promod3.loop.ForcefieldPeriodicDihedralInfo.index_three" title="Permalink to this definition">¶</a></dt>
 <dd><p>Index of particle 3</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldPeriodicDihedralInfo.index_four">
-<code class="descname">index_four</code><a class="headerlink" href="#promod3.loop.ForcefieldPeriodicDihedralInfo.index_four" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldPeriodicDihedralInfo.index_four">
+<span class="sig-name descname"><span class="pre">index_four</span></span><a class="headerlink" href="#promod3.loop.ForcefieldPeriodicDihedralInfo.index_four" title="Permalink to this definition">¶</a></dt>
 <dd><p>Index of particle 4</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldPeriodicDihedralInfo.multiplicity">
-<code class="descname">multiplicity</code><a class="headerlink" href="#promod3.loop.ForcefieldPeriodicDihedralInfo.multiplicity" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldPeriodicDihedralInfo.multiplicity">
+<span class="sig-name descname"><span class="pre">multiplicity</span></span><a class="headerlink" href="#promod3.loop.ForcefieldPeriodicDihedralInfo.multiplicity" title="Permalink to this definition">¶</a></dt>
 <dd><p>Multiplicity</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldPeriodicDihedralInfo.phase">
-<code class="descname">phase</code><a class="headerlink" href="#promod3.loop.ForcefieldPeriodicDihedralInfo.phase" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldPeriodicDihedralInfo.phase">
+<span class="sig-name descname"><span class="pre">phase</span></span><a class="headerlink" href="#promod3.loop.ForcefieldPeriodicDihedralInfo.phase" title="Permalink to this definition">¶</a></dt>
 <dd><p>Phase in radians</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldPeriodicDihedralInfo.force_constant">
-<code class="descname">force_constant</code><a class="headerlink" href="#promod3.loop.ForcefieldPeriodicDihedralInfo.force_constant" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldPeriodicDihedralInfo.force_constant">
+<span class="sig-name descname"><span class="pre">force_constant</span></span><a class="headerlink" href="#promod3.loop.ForcefieldPeriodicDihedralInfo.force_constant" title="Permalink to this definition">¶</a></dt>
 <dd><p>Force constant in kJ/mol/radian^2</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.loop.ForcefieldHarmonicImproperInfo">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">ForcefieldHarmonicImproperInfo</code><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicImproperInfo" title="Permalink to this definition">¶</a></dt>
-<dd><p>Define harmonic improper (see <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/topology/#ost.mol.mm.Topology.AddHarmonicImproper" title="(in OpenStructure v2.4.0)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.AddHarmonicImproper()</span></code></a>)</p>
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldHarmonicImproperInfo.index_one">
-<code class="descname">index_one</code><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicImproperInfo.index_one" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldHarmonicImproperInfo">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">ForcefieldHarmonicImproperInfo</span></span><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicImproperInfo" title="Permalink to this definition">¶</a></dt>
+<dd><p>Define harmonic improper (see <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/topology/#ost.mol.mm.Topology.AddHarmonicImproper" title="(in OpenStructure v2.9.2)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.AddHarmonicImproper()</span></code></a>)</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldHarmonicImproperInfo.index_one">
+<span class="sig-name descname"><span class="pre">index_one</span></span><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicImproperInfo.index_one" title="Permalink to this definition">¶</a></dt>
 <dd><p>Index of particle 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">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldHarmonicImproperInfo.index_two">
-<code class="descname">index_two</code><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicImproperInfo.index_two" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldHarmonicImproperInfo.index_two">
+<span class="sig-name descname"><span class="pre">index_two</span></span><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicImproperInfo.index_two" title="Permalink to this definition">¶</a></dt>
 <dd><p>Index of particle 2</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldHarmonicImproperInfo.index_three">
-<code class="descname">index_three</code><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicImproperInfo.index_three" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldHarmonicImproperInfo.index_three">
+<span class="sig-name descname"><span class="pre">index_three</span></span><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicImproperInfo.index_three" title="Permalink to this definition">¶</a></dt>
 <dd><p>Index of particle 3</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldHarmonicImproperInfo.index_four">
-<code class="descname">index_four</code><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicImproperInfo.index_four" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldHarmonicImproperInfo.index_four">
+<span class="sig-name descname"><span class="pre">index_four</span></span><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicImproperInfo.index_four" title="Permalink to this definition">¶</a></dt>
 <dd><p>Index of particle 4</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldHarmonicImproperInfo.angle">
-<code class="descname">angle</code><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicImproperInfo.angle" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldHarmonicImproperInfo.angle">
+<span class="sig-name descname"><span class="pre">angle</span></span><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicImproperInfo.angle" title="Permalink to this definition">¶</a></dt>
 <dd><p>Angle in radians</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldHarmonicImproperInfo.force_constant">
-<code class="descname">force_constant</code><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicImproperInfo.force_constant" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldHarmonicImproperInfo.force_constant">
+<span class="sig-name descname"><span class="pre">force_constant</span></span><a class="headerlink" href="#promod3.loop.ForcefieldHarmonicImproperInfo.force_constant" title="Permalink to this definition">¶</a></dt>
 <dd><p>Force constant kJ/mol/radian^2</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.loop.ForcefieldLJPairInfo">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">ForcefieldLJPairInfo</code><a class="headerlink" href="#promod3.loop.ForcefieldLJPairInfo" title="Permalink to this definition">¶</a></dt>
-<dd><p>Define LJ pair (see <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/topology/#ost.mol.mm.Topology.AddLJPair" title="(in OpenStructure v2.4.0)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.AddLJPair()</span></code></a>)</p>
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldLJPairInfo.index_one">
-<code class="descname">index_one</code><a class="headerlink" href="#promod3.loop.ForcefieldLJPairInfo.index_one" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLJPairInfo">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">ForcefieldLJPairInfo</span></span><a class="headerlink" href="#promod3.loop.ForcefieldLJPairInfo" title="Permalink to this definition">¶</a></dt>
+<dd><p>Define LJ pair (see <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/topology/#ost.mol.mm.Topology.AddLJPair" title="(in OpenStructure v2.9.2)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.mm.Topology.AddLJPair()</span></code></a>)</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLJPairInfo.index_one">
+<span class="sig-name descname"><span class="pre">index_one</span></span><a class="headerlink" href="#promod3.loop.ForcefieldLJPairInfo.index_one" title="Permalink to this definition">¶</a></dt>
 <dd><p>Index of particle 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">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldLJPairInfo.index_two">
-<code class="descname">index_two</code><a class="headerlink" href="#promod3.loop.ForcefieldLJPairInfo.index_two" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLJPairInfo.index_two">
+<span class="sig-name descname"><span class="pre">index_two</span></span><a class="headerlink" href="#promod3.loop.ForcefieldLJPairInfo.index_two" title="Permalink to this definition">¶</a></dt>
 <dd><p>Index of particle 2</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldLJPairInfo.sigma">
-<code class="descname">sigma</code><a class="headerlink" href="#promod3.loop.ForcefieldLJPairInfo.sigma" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLJPairInfo.sigma">
+<span class="sig-name descname"><span class="pre">sigma</span></span><a class="headerlink" href="#promod3.loop.ForcefieldLJPairInfo.sigma" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sigma in nm</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="attribute">
-<dt id="promod3.loop.ForcefieldLJPairInfo.epsilon">
-<code class="descname">epsilon</code><a class="headerlink" href="#promod3.loop.ForcefieldLJPairInfo.epsilon" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.ForcefieldLJPairInfo.epsilon">
+<span class="sig-name descname"><span class="pre">epsilon</span></span><a class="headerlink" href="#promod3.loop.ForcefieldLJPairInfo.epsilon" title="Permalink to this definition">¶</a></dt>
 <dd><p>Epsilon in kJ/mol</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -1556,12 +1346,12 @@ False, False)</em>.</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -1578,7 +1368,7 @@ False, False)</em>.</p>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a><ul>
       <li>Previous: <a href="all_atom.html" title="previous chapter">Handling All Atom Positions</a></li>
       <li>Next: <a href="load_loop_objects.html" title="next chapter">Loading Precomputed Objects</a></li>
   </ul></li>
@@ -1587,27 +1377,33 @@ False, False)</em>.</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/loop/mm_system_creation.rst.txt"
diff --git a/doc/html/loop/structure_db.html b/doc/html/loop/structure_db.html
index e917888a0e6ee2c1fd02a4f295a1218bdd6a7524..ba817a29103d48171bec80b5f20d781726c22d16 100644
--- a/doc/html/loop/structure_db.html
+++ b/doc/html/loop/structure_db.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Structural Data &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Structural Data &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Handling All Atom Positions" href="all_atom.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,10 +31,12 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="structural-data">
-<h1>Structural Data<a class="headerlink" href="#structural-data" title="Permalink to this headline">¶</a></h1>
+  <section id="structural-data">
+<h1>Structural Data<a class="headerlink" href="#structural-data" title="Permalink to this heading">¶</a></h1>
 <p>The <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a> serves as a container for structural backbone and
 sequence data. Custom accessor objects can be implemented that relate
 arbitrary features to structural data. Examples provided by ProMod3 include
@@ -44,11 +47,11 @@ optionally be stored. E.g. sequence profiles or secondary structure information.
 Optional data includes:</p>
 <blockquote>
 <div><ul class="simple">
-<li>The phi/psi dihedral angles</li>
-<li>The secondary structure state as defined by dssp</li>
-<li>The solvent accessibility in square Angstrom</li>
-<li>The amino acid frequencies as given by an input sequence profile</li>
-<li>The residue depth - The residue depth is defined as the minimum distance of
+<li><p>The phi/psi dihedral angles</p></li>
+<li><p>The secondary structure state as defined by dssp</p></li>
+<li><p>The solvent accessibility in square Angstrom</p></li>
+<li><p>The amino acid frequencies as given by an input sequence profile</p></li>
+<li><p>The residue depth - The residue depth is defined as the minimum distance of
 a residue towards any of the exposed residues.
 Distances are calculated using CB positions (artificially constructed in case
 of glycine) and exposed is defined as:
@@ -57,116 +60,112 @@ to the OUTER surface. To determine whether an atom is part of that outer
 surface, the full structure is placed into a 3D grid and a flood fill
 algorithm is used to determine the atoms of interest.
 Internal cavities are excluded by using this approach. This is a simplified
-version of the residue depth as discussed in <a class="reference internal" href="../references.html#chakravarty1999" id="id1">[chakravarty1999]</a> and gets
-directly calculated when structural information is added to the StructureDB.</li>
-<li>The amino acid frequency derived from structural alignments as described
-in <a class="reference internal" href="../references.html#zhou2005" id="id2">[zhou2005]</a> - Since the calculation of such a profile already requires a
+version of the residue depth as discussed in <a class="reference internal" href="../references.html#chakravarty1999" id="id1"><span>[chakravarty1999]</span></a> and gets
+directly calculated when structural information is added to the StructureDB.</p></li>
+<li><p>The amino acid frequency derived from structural alignments as described
+in <a class="reference internal" href="../references.html#zhou2005" id="id2"><span>[zhou2005]</span></a> - Since the calculation of such a profile already requires a
 StructureDB, we end up in a hen and egg problem here… When adding
 structural information to the StructureDB, the according memory gets
 just allocated and set to zero. The usage of this information
 is therefore only meaningful if you calculate these profiles
-and manually set them (or load the provided default database).</li>
+and manually set them (or load the provided default database).</p></li>
 </ul>
 </div></blockquote>
-<div class="section" id="defining-chains-and-fragments">
-<h2>Defining Chains and Fragments<a class="headerlink" href="#defining-chains-and-fragments" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.loop.CoordInfo">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">CoordInfo</code><a class="headerlink" href="#promod3.loop.CoordInfo" title="Permalink to this definition">¶</a></dt>
+<section id="defining-chains-and-fragments">
+<h2>Defining Chains and Fragments<a class="headerlink" href="#defining-chains-and-fragments" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.CoordInfo">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">CoordInfo</span></span><a class="headerlink" href="#promod3.loop.CoordInfo" title="Permalink to this definition">¶</a></dt>
 <dd><p>The CoordInfo gets automatically generated when new chains are added to
 a <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a>. It contains internal information of how a
 connected stretch of residues is stored in the database.</p>
-<dl class="attribute">
-<dt id="promod3.loop.CoordInfo.id">
-<code class="descname">id</code><a class="headerlink" href="#promod3.loop.CoordInfo.id" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.CoordInfo.id">
+<span class="sig-name descname"><span class="pre">id</span></span><a class="headerlink" href="#promod3.loop.CoordInfo.id" title="Permalink to this definition">¶</a></dt>
 <dd><p>An id string specified when adding the corresponding stretch to the
 structure db</p>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.loop.CoordInfo.chain_name">
-<code class="descname">chain_name</code><a class="headerlink" href="#promod3.loop.CoordInfo.chain_name" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.CoordInfo.chain_name">
+<span class="sig-name descname"><span class="pre">chain_name</span></span><a class="headerlink" href="#promod3.loop.CoordInfo.chain_name" title="Permalink to this definition">¶</a></dt>
 <dd><p>A chain name string specified when adding the corresponding stretch to the
 structure db</p>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.loop.CoordInfo.offset">
-<code class="descname">offset</code><a class="headerlink" href="#promod3.loop.CoordInfo.offset" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.CoordInfo.offset">
+<span class="sig-name descname"><span class="pre">offset</span></span><a class="headerlink" href="#promod3.loop.CoordInfo.offset" title="Permalink to this definition">¶</a></dt>
 <dd><p>All residues of the added stretch are stored in a linear memory layout.
 The offset parameter tells us where it exactly starts in the global data
-structure. (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>)</p>
+structure. (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>)</p>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.loop.CoordInfo.size">
-<code class="descname">size</code><a class="headerlink" href="#promod3.loop.CoordInfo.size" title="Permalink to this definition">¶</a></dt>
-<dd><p>The number of residues in that stretch (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>)</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.CoordInfo.size">
+<span class="sig-name descname"><span class="pre">size</span></span><a class="headerlink" href="#promod3.loop.CoordInfo.size" title="Permalink to this definition">¶</a></dt>
+<dd><p>The number of residues in that stretch (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>)</p>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.loop.CoordInfo.start_resnum">
-<code class="descname">start_resnum</code><a class="headerlink" href="#promod3.loop.CoordInfo.start_resnum" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.CoordInfo.start_resnum">
+<span class="sig-name descname"><span class="pre">start_resnum</span></span><a class="headerlink" href="#promod3.loop.CoordInfo.start_resnum" title="Permalink to this definition">¶</a></dt>
 <dd><p>Residue number of first residue in the added stretch. The residue number
 is relative to the SEQRES provided in the input profile when adding the
-stuff to the structure db. (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>)</p>
+stuff to the structure db. (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>)</p>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.loop.CoordInfo.shift">
-<code class="descname">shift</code><a class="headerlink" href="#promod3.loop.CoordInfo.shift" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.CoordInfo.shift">
+<span class="sig-name descname"><span class="pre">shift</span></span><a class="headerlink" href="#promod3.loop.CoordInfo.shift" title="Permalink to this definition">¶</a></dt>
 <dd><p>Translation from original coordinates that has been applied before storing
-structural information in db. (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>)</p>
+structural information in db. (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>)</p>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.loop.FragmentInfo">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">FragmentInfo</code><span class="sig-paren">(</span><em>chain_index</em>, <em>offset</em>, <em>length</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragmentInfo" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.FragmentInfo">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">FragmentInfo</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">chain_index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">offset</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">length</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragmentInfo" title="Permalink to this definition">¶</a></dt>
 <dd><p>The FragmentInfo defines any fragment in the <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a>. If you
 implement your own accessor object, thats the information you want to store.</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>chain_index</strong> – Fills <a class="reference internal" href="#promod3.loop.FragmentInfo.chain_index" title="promod3.loop.FragmentInfo.chain_index"><code class="xref py py-attr docutils literal notranslate"><span class="pre">chain_index</span></code></a></li>
-<li><strong>offset</strong> – Fills <a class="reference internal" href="#promod3.loop.FragmentInfo.offset" title="promod3.loop.FragmentInfo.offset"><code class="xref py py-attr docutils literal notranslate"><span class="pre">offset</span></code></a></li>
-<li><strong>length</strong> – Fills <a class="reference internal" href="#promod3.loop.FragmentInfo.length" title="promod3.loop.FragmentInfo.length"><code class="xref py py-attr docutils literal notranslate"><span class="pre">length</span></code></a></li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>chain_index</strong> – Fills <a class="reference internal" href="#promod3.loop.FragmentInfo.chain_index" title="promod3.loop.FragmentInfo.chain_index"><code class="xref py py-attr docutils literal notranslate"><span class="pre">chain_index</span></code></a></p></li>
+<li><p><strong>offset</strong> – Fills <a class="reference internal" href="#promod3.loop.FragmentInfo.offset" title="promod3.loop.FragmentInfo.offset"><code class="xref py py-attr docutils literal notranslate"><span class="pre">offset</span></code></a></p></li>
+<li><p><strong>length</strong> – Fills <a class="reference internal" href="#promod3.loop.FragmentInfo.length" title="promod3.loop.FragmentInfo.length"><code class="xref py py-attr docutils literal notranslate"><span class="pre">length</span></code></a></p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="attribute">
-<dt id="promod3.loop.FragmentInfo.chain_index">
-<code class="descname">chain_index</code><a class="headerlink" href="#promod3.loop.FragmentInfo.chain_index" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.FragmentInfo.chain_index">
+<span class="sig-name descname"><span class="pre">chain_index</span></span><a class="headerlink" href="#promod3.loop.FragmentInfo.chain_index" title="Permalink to this definition">¶</a></dt>
 <dd><p>The index of the chain (defined by <a class="reference internal" href="#promod3.loop.CoordInfo" title="promod3.loop.CoordInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">CoordInfo</span></code></a>) in the
-<a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a> this particle belongs to. (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>)</p>
+<a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a> this particle belongs to. (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>)</p>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.loop.FragmentInfo.offset">
-<code class="descname">offset</code><a class="headerlink" href="#promod3.loop.FragmentInfo.offset" title="Permalink to this definition">¶</a></dt>
-<dd><p>Index of residue in <strong>chain</strong> the fragment starts. (0-based, <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>)</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.FragmentInfo.offset">
+<span class="sig-name descname"><span class="pre">offset</span></span><a class="headerlink" href="#promod3.loop.FragmentInfo.offset" title="Permalink to this definition">¶</a></dt>
+<dd><p>Index of residue in <strong>chain</strong> the fragment starts. (0-based, <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>)</p>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.loop.FragmentInfo.length">
-<code class="descname">length</code><a class="headerlink" href="#promod3.loop.FragmentInfo.length" title="Permalink to this definition">¶</a></dt>
-<dd><p>Length of the fragment (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>)</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.loop.FragmentInfo.length">
+<span class="sig-name descname"><span class="pre">length</span></span><a class="headerlink" href="#promod3.loop.FragmentInfo.length" title="Permalink to this definition">¶</a></dt>
+<dd><p>Length of the fragment (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>)</p>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="the-structure-database">
-<h2>The Structure Database<a class="headerlink" href="#the-structure-database" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="the-structure-database">
+<h2>The Structure Database<a class="headerlink" href="#the-structure-database" title="Permalink to this heading">¶</a></h2>
 <p>The following code example demonstrates how to create a structural database
 and fill it with content.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">loop</span>
-<span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span><span class="p">,</span> <span class="n">seq</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></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">ost</span> <span class="kn">import</span> <span class="n">io</span><span class="p">,</span> <span class="n">seq</span>
 <span class="kn">import</span> <span class="nn">os</span>
 
 <span class="c1"># StructureDB where all data get extracted</span>
@@ -256,14 +255,14 @@ and fill it with content.</p>
 the size of the database used as source. If you want to do this for a larger
 database, you might want to consider two things:</p>
 <ol class="arabic simple">
-<li>Use a database of limited size to generate the actual profiles (something
-in between 5000 and 10000 nonredundant chains is enough)</li>
-<li>Use the <a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.ProfileDB" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileDB</span></code></a> to gather profiles produced from jobs
-running in parallel</li>
+<li><p>Use a database of limited size to generate the actual profiles (something
+in between 5000 and 10000 nonredundant chains is enough)</p></li>
+<li><p>Use the <a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.ProfileDB" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileDB</span></code></a> to gather profiles produced from jobs
+running in parallel</p></li>
 </ol>
-<dl class="class">
-<dt id="promod3.loop.StructureDBDataType">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">StructureDBDataType</code><a class="headerlink" href="#promod3.loop.StructureDBDataType" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.StructureDBDataType">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">StructureDBDataType</span></span><a class="headerlink" href="#promod3.loop.StructureDBDataType" title="Permalink to this definition">¶</a></dt>
 <dd><p>The StructureDBDataType enum has to be passed at initialization of a
 StructureDB in order to define what data you want to store additionally
 to backbone coordinates and sequence.
@@ -278,88 +277,82 @@ information must be assigned manually (see example script again…).</p>
 AAFrequencies, AAFrequenciesStruct</p>
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.loop.StructureDB">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">StructureDB</code><span class="sig-paren">(</span><em>data_to_store</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.StructureDB">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">StructureDB</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data_to_store</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB" title="Permalink to this definition">¶</a></dt>
 <dd><p>Generates an empty <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a> that can be filled with content
 through <a class="reference internal" href="#promod3.loop.StructureDB.AddCoordinates" title="promod3.loop.StructureDB.AddCoordinates"><code class="xref py py-func docutils literal notranslate"><span class="pre">AddCoordinates()</span></code></a>. The information extracted there is defined by
 <em>data_to_store</em>. Have a look at the <a class="reference internal" href="#promod3.loop.StructureDBDataType" title="promod3.loop.StructureDBDataType"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDBDataType</span></code></a>
 documentation and at the example script…</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>data_to_store</strong> (<a class="reference internal" href="#promod3.loop.StructureDBDataType" title="promod3.loop.StructureDBDataType"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDBDataType</span></code></a>) – Specifies what data to store in the database, several
-flags can be combined with a bitwise or operator.</td>
-</tr>
-</tbody>
-</table>
-<dl class="staticmethod">
-<dt id="promod3.loop.StructureDB.Load">
-<em class="property">static </em><code class="descname">Load</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.Load" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.StructureDB.LoadPortable">
-<em class="property">static </em><code class="descname">LoadPortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.LoadPortable" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>data_to_store</strong> (<a class="reference internal" href="#promod3.loop.StructureDBDataType" title="promod3.loop.StructureDBDataType"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDBDataType</span></code></a>) – Specifies what data to store in the database, several
+flags can be combined with a bitwise or operator.</p>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.Load">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.Load" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.LoadPortable">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LoadPortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.LoadPortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Loads raw binary file generated with <a class="reference internal" href="#promod3.loop.StructureDB.Save" title="promod3.loop.StructureDB.Save"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Save()</span></code></a> (optimized for fast
 reading) / portable file generated with <a class="reference internal" href="#promod3.loop.StructureDB.SavePortable" title="promod3.loop.StructureDB.SavePortable"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SavePortable()</span></code></a> (slower but
 less machine-dependent).</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load the database.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The loaded data base</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.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
-file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.StructureDB.Save">
-<code class="descname">Save</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.Save" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.StructureDB.SavePortable">
-<code class="descname">SavePortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.SavePortable" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load the database.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The loaded data base</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
+file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.Save">
+<span class="sig-name descname"><span class="pre">Save</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.Save" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.SavePortable">
+<span class="sig-name descname"><span class="pre">SavePortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.SavePortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Saves a raw / portable binary representation. Use portable files for
 distribution and convert locally to raw files. See <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a>
 for details.</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where the database will be saved</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.StructureDB.HasData">
-<code class="descname">HasData</code><span class="sig-paren">(</span><em>data_type</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.HasData" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where the database will be saved</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.HasData">
+<span class="sig-name descname"><span class="pre">HasData</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data_type</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.HasData" title="Permalink to this definition">¶</a></dt>
 <dd><p>Checks, whether requested data type is available in the current 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>data_type</strong> (<a class="reference internal" href="#promod3.loop.StructureDBDataType" title="promod3.loop.StructureDBDataType"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDBDataType</span></code></a>) – Data type to check</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">Whether the requested datatype is available</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.StructureDB.AddCoordinates">
-<code class="descname">AddCoordinates</code><span class="sig-paren">(</span><em>id</em>, <em>chain_name</em>, <em>ent</em>, <em>seqres</em>, <em>prof=None</em>, <em>only_longest_stretch=True</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.AddCoordinates" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>data_type</strong> (<a class="reference internal" href="#promod3.loop.StructureDBDataType" title="promod3.loop.StructureDBDataType"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDBDataType</span></code></a>) – Data type to check</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Whether the requested datatype is available</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.AddCoordinates">
+<span class="sig-name descname"><span class="pre">AddCoordinates</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ent</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seqres</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prof</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">only_longest_stretch</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.AddCoordinates" title="Permalink to this definition">¶</a></dt>
 <dd><p>This method takes an entity and adds coordinates and the sequence
 of one of its chains to the structural database. Additionally, all
 data as specified at the initialization of the database is extracted
@@ -386,488 +379,435 @@ be sufficient for most structures, but stretches exceeding this maximum
 are discarded. For storing the structural data given these restraints,
 a translation is applied that gets stored as the <em>shift</em> attribute
 in the according <a class="reference internal" href="#promod3.loop.CoordInfo" title="promod3.loop.CoordInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">CoordInfo</span></code></a> object.</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>id</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – identifier of the added structure (e.g. pdb id)</li>
-<li><strong>chain_name</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Name of the chain in <em>ent</em> you want to add</li>
-<li><strong>ent</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityHandle</span></code></a> /
-<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityView</span></code></a>) – The full entity that must contain a chain named
-as specified by <em>chain_name</em>.</li>
-<li><strong>seqres</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceHandle</span></code></a>) – The reference sequence of chain with name <em>chain_name</em></li>
-<li><strong>prof</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a>) – Profile information for the chain with name
-<em>chain_name</em>. The profile sequence must match <em>seqres</em>.</li>
-<li><strong>only_longest_stretch</strong> – Flag whether you want to add only the longest
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>id</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – identifier of the added structure (e.g. pdb id)</p></li>
+<li><p><strong>chain_name</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Name of the chain in <em>ent</em> you want to add</p></li>
+<li><p><strong>ent</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityHandle</span></code></a> /
+<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityView</span></code></a>) – The full entity that must contain a chain named
+as specified by <em>chain_name</em>.</p></li>
+<li><p><strong>seqres</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceHandle</span></code></a>) – The reference sequence of chain with name <em>chain_name</em></p></li>
+<li><p><strong>prof</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a>) – Profile information for the chain with name
+<em>chain_name</em>. The profile sequence must match <em>seqres</em>.</p></li>
+<li><p><strong>only_longest_stretch</strong> – Flag whether you want to add only the longest
 connected stretch of residues are all connected
-stretches of residues</li>
+stretches of residues</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">indices of added stretches in db</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <cite>int</cite></p>
-</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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if the residues in chain with
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>indices of added stretches in db</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <cite>int</cite></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if the residues in chain with
 name <em>chain_name</em> do not match <em>seqres</em> given the
 residue numbers, when AAFrequencies have to to be extracted and
 the sequence in <em>prof</em> does not match the <em>seqres</em> or <em>prof</em> is
 invalid.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.StructureDB.RemoveCoordinates">
-<code class="descname">RemoveCoordinates</code><span class="sig-paren">(</span><em>coord_idx</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.RemoveCoordinates" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.RemoveCoordinates">
+<span class="sig-name descname"><span class="pre">RemoveCoordinates</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">coord_idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.RemoveCoordinates" title="Permalink to this definition">¶</a></dt>
 <dd><p>Removes coordinates at specified location and all its associated data. This
 has an impact on the offset values of all <a class="reference internal" href="#promod3.loop.CoordInfo" title="promod3.loop.CoordInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">CoordInfo</span></code></a> objects
 that are internally stored afterwards and on the actual coord indices
 (all shifted by one). So make sure that you adapt your data access
 accordingly!</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>coord_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Specifies coordinates to be removed</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>coord_idx</em> is invalid</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.StructureDB.GetCoordIdx">
-<code class="descname">GetCoordIdx</code><span class="sig-paren">(</span><em>id</em>, <em>chain_name</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetCoordIdx" 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"><p class="first">The <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a> indices (in [0, <a class="reference internal" href="#promod3.loop.StructureDB.GetNumCoords" title="promod3.loop.StructureDB.GetNumCoords"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumCoords()</span></code></a>-1])
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>coord_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Specifies coordinates to be removed</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>coord_idx</em> is invalid</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.GetCoordIdx">
+<span class="sig-name descname"><span class="pre">GetCoordIdx</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_name</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetCoordIdx" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a> indices (in [0, <a class="reference internal" href="#promod3.loop.StructureDB.GetNumCoords" title="promod3.loop.StructureDB.GetNumCoords"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumCoords()</span></code></a>-1])
 of all coords (connected stretches) with matching
 <em>id</em> / <em>chain_name</em>.</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>id</strong> – Identifier given when calling <a class="reference internal" href="#promod3.loop.StructureDB.AddCoordinates" title="promod3.loop.StructureDB.AddCoordinates"><code class="xref py py-meth docutils literal notranslate"><span class="pre">AddCoordinates()</span></code></a></li>
-<li><strong>chain_name</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Name of chain given when calling <a class="reference internal" href="#promod3.loop.StructureDB.AddCoordinates" title="promod3.loop.StructureDB.AddCoordinates"><code class="xref py py-meth docutils literal notranslate"><span class="pre">AddCoordinates()</span></code></a></li>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>id</strong> – Identifier given when calling <a class="reference internal" href="#promod3.loop.StructureDB.AddCoordinates" title="promod3.loop.StructureDB.AddCoordinates"><code class="xref py py-meth docutils literal notranslate"><span class="pre">AddCoordinates()</span></code></a></p></li>
+<li><p><strong>chain_name</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Name of chain given when calling <a class="reference internal" href="#promod3.loop.StructureDB.AddCoordinates" title="promod3.loop.StructureDB.AddCoordinates"><code class="xref py py-meth docutils literal notranslate"><span class="pre">AddCoordinates()</span></code></a></p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.StructureDB.GetCoordInfo">
-<code class="descname">GetCoordInfo</code><span class="sig-paren">(</span><em>idx</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetCoordInfo" 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">Object describing the stretch of connected residues with
-index <em>idx</em>.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.loop.CoordInfo" title="promod3.loop.CoordInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">CoordInfo</span></code></a></td>
-</tr>
-<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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a> index (in [0, <a class="reference internal" href="#promod3.loop.StructureDB.GetNumCoords" title="promod3.loop.StructureDB.GetNumCoords"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumCoords()</span></code></a>-1])</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.StructureDB.GetNumCoords">
-<code class="descname">GetNumCoords</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetNumCoords" 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 connected stretches of residues that have been added to
-the database.</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.StructureDB.PrintStatistics">
-<code class="descname">PrintStatistics</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.PrintStatistics" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.GetCoordInfo">
+<span class="sig-name descname"><span class="pre">GetCoordInfo</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetCoordInfo" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Object describing the stretch of connected residues with
+index <em>idx</em>.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.loop.CoordInfo" title="promod3.loop.CoordInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">CoordInfo</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a> index (in [0, <a class="reference internal" href="#promod3.loop.StructureDB.GetNumCoords" title="promod3.loop.StructureDB.GetNumCoords"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumCoords()</span></code></a>-1])</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.GetNumCoords">
+<span class="sig-name descname"><span class="pre">GetNumCoords</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetNumCoords" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Number of connected stretches of residues that have been added to
+the database.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.PrintStatistics">
+<span class="sig-name descname"><span class="pre">PrintStatistics</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.PrintStatistics" title="Permalink to this definition">¶</a></dt>
 <dd><p>Prints out some information about the db.</p>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.StructureDB.GetBackboneList">
-<code class="descname">GetBackboneList</code><span class="sig-paren">(</span><em>fragment</em>, <em>sequence</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetBackboneList" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">GetBackboneList</code><span class="sig-paren">(</span><em>n_stem</em>, <em>c_stem</em>, <em>fragment</em>, <em>sequence=&quot;&quot;</em><span class="sig-paren">)</span></dt>
-<dt>
-<code class="descname">GetBackboneList</code><span class="sig-paren">(</span><em>coord_idx</em>, <em>sequence=&quot;&quot;</em><span class="sig-paren">)</span></dt>
-<dt>
-<code class="descname">GetBackboneList</code><span class="sig-paren">(</span><em>n_stem</em>, <em>c_stem</em>, <em>coord_idx</em>, <em>sequence=&quot;&quot;</em><span class="sig-paren">)</span></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"><p class="first">Backbone list with positions extracted from <em>fragment</em> or
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.GetBackboneList">
+<span class="sig-name descname"><span class="pre">GetBackboneList</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fragment</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sequence</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetBackboneList" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">GetBackboneList</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fragment</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sequence</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">GetBackboneList</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">coord_idx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sequence</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">GetBackboneList</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coord_idx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sequence</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Backbone list with positions extracted from <em>fragment</em> or
 full entry at <em>coord_idx</em></p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>fragment</strong> (<a class="reference internal" href="#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a>) – Fragment definition from which to extract positions.</li>
-<li><strong>coord_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of entry from which to extract positions.</li>
-<li><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence of the returned backbone list. If not
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>fragment</strong> (<a class="reference internal" href="#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a>) – Fragment definition from which to extract positions.</p></li>
+<li><p><strong>coord_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of entry from which to extract positions.</p></li>
+<li><p><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence of the returned backbone list. If not
 set, the original sequence at specified location in the
-database is used.</li>
-<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Positions on which the backbone list’s N-terminus should be
-superposed onto.</li>
-<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Positions on which the backbone list’s C-terminus should be
-superposed onto.</li>
+database is used.</p></li>
+<li><p><strong>n_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Positions on which the backbone list’s N-terminus should be
+superposed onto.</p></li>
+<li><p><strong>c_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Positions on which the backbone list’s C-terminus should be
+superposed onto.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if the length of <em>sequence</em> does
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if the length of <em>sequence</em> does
 not match with the desired backbone list, if <em>sequence</em> contains
 a character which does not belong to the 20 proteinogenic amino
 acids or if <em>fragment</em> or <em>coord_idx</em> is invalid. Fragment can
 be invalid when it does not fully fit into one of the connected
 stretches of residues in the database.</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.StructureDB.GetSequence">
-<code class="descname">GetSequence</code><span class="sig-paren">(</span><em>fragment</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetSequence" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">GetSequence</code><span class="sig-paren">(</span><em>coord_idx</em><span class="sig-paren">)</span></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"><p class="first">The sequence of <em>fragment</em> or full entry at <em>coord_idx</em></p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>fragment</strong> (<a class="reference internal" href="#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a>) – Fragment definition from which to extract the sequence.</li>
-<li><strong>coord_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of entry from which to extract the sequence</li>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.GetSequence">
+<span class="sig-name descname"><span class="pre">GetSequence</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fragment</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetSequence" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">GetSequence</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">coord_idx</span></span></em><span class="sig-paren">)</span></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The sequence of <em>fragment</em> or full entry at <em>coord_idx</em></p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>fragment</strong> (<a class="reference internal" href="#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a>) – Fragment definition from which to extract the sequence.</p></li>
+<li><p><strong>coord_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of entry from which to extract the sequence</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if fragment or coord_idx is
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if fragment or coord_idx is
 invalid. Fragment can be invalid when it does not fully fit into
 one of the connected stretches of residues in the database.</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.StructureDB.GetDSSPStates">
-<code class="descname">GetDSSPStates</code><span class="sig-paren">(</span><em>fragment</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetDSSPStates" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">GetDSSPStates</code><span class="sig-paren">(</span><em>coord_idx</em><span class="sig-paren">)</span></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"><p class="first">The dssp states of <em>fragment</em> or full entry at <em>coord_idx</em></p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>fragment</strong> (<a class="reference internal" href="#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a>) – Fragment definition from which to extract the states.</li>
-<li><strong>coord_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of entry from which to extract the dssp states</li>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.GetDSSPStates">
+<span class="sig-name descname"><span class="pre">GetDSSPStates</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fragment</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetDSSPStates" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">GetDSSPStates</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">coord_idx</span></span></em><span class="sig-paren">)</span></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The dssp states of <em>fragment</em> or full entry at <em>coord_idx</em></p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>fragment</strong> (<a class="reference internal" href="#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a>) – Fragment definition from which to extract the states.</p></li>
+<li><p><strong>coord_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of entry from which to extract the dssp states</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if database does not contain dssp
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if database does not contain dssp
 data or if fragment/ coord_idx is invalid. Fragment can be invalid
 when it does not fully fit into one of the connected stretches of
 residues in the database.</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.StructureDB.GetDihedralAngles">
-<code class="descname">GetDihedralAngles</code><span class="sig-paren">(</span><em>fragment</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetDihedralAngles" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">GetDihedralAngles</code><span class="sig-paren">(</span><em>coord_idx</em><span class="sig-paren">)</span></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"><p class="first">The phi and psi dihedral angles of every residue of <em>fragment</em>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.GetDihedralAngles">
+<span class="sig-name descname"><span class="pre">GetDihedralAngles</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fragment</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetDihedralAngles" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">GetDihedralAngles</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">coord_idx</span></span></em><span class="sig-paren">)</span></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The phi and psi dihedral angles of every residue of <em>fragment</em>
 or full entry at <em>coord_idx</em></p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of pairs (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#tuple" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a>)</p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>fragment</strong> (<a class="reference internal" href="#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a>) – Fragment definition from which to extract the dihedrals.</li>
-<li><strong>coord_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of entry from which to extract the dihedral angles</li>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of pairs (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#tuple" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a>)</p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>fragment</strong> (<a class="reference internal" href="#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a>) – Fragment definition from which to extract the dihedrals.</p></li>
+<li><p><strong>coord_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of entry from which to extract the dihedral angles</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if database does not contain
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if database does not contain
 dihedral angle data or if fragment/ coord_idx is invalid.
 Fragment can be invalid when it does not fully fit into one of the
 connected stretches of residues in the database.</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.StructureDB.GetResidueDepths">
-<code class="descname">GetResidueDepths</code><span class="sig-paren">(</span><em>fragment</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetResidueDepths" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">GetResidueDepths</code><span class="sig-paren">(</span><em>coord_idx</em><span class="sig-paren">)</span></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"><p class="first">Residue depth for each residue of <em>fragment</em> or full entry
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.GetResidueDepths">
+<span class="sig-name descname"><span class="pre">GetResidueDepths</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fragment</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetResidueDepths" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">GetResidueDepths</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">coord_idx</span></span></em><span class="sig-paren">)</span></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Residue depth for each residue of <em>fragment</em> or full entry
 at <em>coord_idx</em></p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>fragment</strong> (<a class="reference internal" href="#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a>) – Fragment definition from which to extract the residue
-depths</li>
-<li><strong>coord_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of entry from which to extract the residue depths</li>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>fragment</strong> (<a class="reference internal" href="#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a>) – Fragment definition from which to extract the residue
+depths</p></li>
+<li><p><strong>coord_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of entry from which to extract the residue depths</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if database does not contain
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if database does not contain
 residue depth data or if fragment/ coord_idx is invalid.
 Fragment can be invalid when it does not fully fit into one of the
 connected stretches of residues in the database.</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.StructureDB.GetSolventAccessibilitites">
-<code class="descname">GetSolventAccessibilitites</code><span class="sig-paren">(</span><em>fragment</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetSolventAccessibilitites" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">GetSolventAccessibilitites</code><span class="sig-paren">(</span><em>coord_idx</em><span class="sig-paren">)</span></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"><p class="first">Solvent accessibility for each residue of <em>fragment</em> or full entry
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.GetSolventAccessibilitites">
+<span class="sig-name descname"><span class="pre">GetSolventAccessibilitites</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fragment</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetSolventAccessibilitites" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">GetSolventAccessibilitites</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">coord_idx</span></span></em><span class="sig-paren">)</span></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Solvent accessibility for each residue of <em>fragment</em> or full entry
 at <em>coord_idx</em> in square A as calculated by
-<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/alg/molalg/#ost.mol.alg.Accessibility" title="(in OpenStructure v2.4.0)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Accessibility()</span></code></a> when adding the structure to
+<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/alg/molalg/#ost.mol.alg.Accessibility" title="(in OpenStructure v2.9.2)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Accessibility()</span></code></a> when adding the structure to
 the database.</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>fragment</strong> (<a class="reference internal" href="#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a>) – Fragment definition from which to extract the solvent
-accessibilities</li>
-<li><strong>coord_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of entry from which to extract the solvent
-accessibilities</li>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>fragment</strong> (<a class="reference internal" href="#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a>) – Fragment definition from which to extract the solvent
+accessibilities</p></li>
+<li><p><strong>coord_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of entry from which to extract the solvent
+accessibilities</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if database does not contain
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if database does not contain
 solvent accessibility data or if fragment/ coord_idx is invalid.
 Fragment can be invalid when it does not fully fit into one of the
 connected stretches of residues in the database.</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.StructureDB.GetSequenceProfile">
-<code class="descname">GetSequenceProfile</code><span class="sig-paren">(</span><em>fragment</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetSequenceProfile" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">GetSequenceProfile</code><span class="sig-paren">(</span><em>coord_idx</em><span class="sig-paren">)</span></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"><p class="first">The sequence profile for the residues defined by <em>fragment</em> or
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.GetSequenceProfile">
+<span class="sig-name descname"><span class="pre">GetSequenceProfile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fragment</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetSequenceProfile" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">GetSequenceProfile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">coord_idx</span></span></em><span class="sig-paren">)</span></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The sequence profile for the residues defined by <em>fragment</em> or
 full entry at <em>coord_idx</em> with the BLOSUM62 probabilities as NULL
 model.</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>fragment</strong> (<a class="reference internal" href="#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a>) – Fragment definition from which to extract the sequence
-profile</li>
-<li><strong>coord_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of entry from which to extract the sequence profile</li>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>fragment</strong> (<a class="reference internal" href="#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a>) – Fragment definition from which to extract the sequence
+profile</p></li>
+<li><p><strong>coord_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of entry from which to extract the sequence profile</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if database does not contain
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if database does not contain
 sequence profile data or if fragment/ coord_idx is invalid.
 Fragment can be invalid when it does not fully fit into one of the
 connected stretches of residues in the database.</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.StructureDB.GetStructureProfile">
-<code class="descname">GetStructureProfile</code><span class="sig-paren">(</span><em>fragment</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetStructureProfile" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">GetStructureProfile</code><span class="sig-paren">(</span><em>coord_idx</em><span class="sig-paren">)</span></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"><p class="first">The structure profile for the residues defined by <em>fragment</em> or
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.GetStructureProfile">
+<span class="sig-name descname"><span class="pre">GetStructureProfile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fragment</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetStructureProfile" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">GetStructureProfile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">coord_idx</span></span></em><span class="sig-paren">)</span></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The structure profile for the residues defined by <em>fragment</em> or
 full entry at <em>coord_idx</em> with the BLOSUM62 probabilities as NULL
 model.</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>fragment</strong> (<a class="reference internal" href="#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a>) – Fragment definition from which to extract the structure
-profile</li>
-<li><strong>coord_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of entry from which to extract the structure profile</li>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>fragment</strong> (<a class="reference internal" href="#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a>) – Fragment definition from which to extract the structure
+profile</p></li>
+<li><p><strong>coord_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of entry from which to extract the structure profile</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if database does not contain
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if database does not contain
 structure profile data or if fragment/ coord_idx is invalid.
 Fragment can be invalid when it does not fully fit into one of the
 connected stretches of residues in the database.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.StructureDB.GenerateStructureProfile">
-<code class="descname">GenerateStructureProfile</code><span class="sig-paren">(</span><em>bb_list</em>, <em>residue_depths</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GenerateStructureProfile" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.GenerateStructureProfile">
+<span class="sig-name descname"><span class="pre">GenerateStructureProfile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bb_list</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residue_depths</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GenerateStructureProfile" title="Permalink to this definition">¶</a></dt>
 <dd><p>Calculates a structure profile for <em>bb_list</em> with given <em>residue_depths</em>
 using the full internal data of this StructureDB.</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>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 notranslate"><span class="pre">BackboneList</span></code></a>) – Positions for which to calculate the structural profile</li>
-<li><strong>residue_depths</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The residue depth for each residue in <em>bb_list</em>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><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 notranslate"><span class="pre">BackboneList</span></code></a>) – Positions for which to calculate the structural profile</p></li>
+<li><p><strong>residue_depths</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The residue depth for each residue in <em>bb_list</em>
 as you would extract it from any StructureDB
-containing that data.</li>
+containing that data.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The structure profile for the input with the BLOSUM62
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The structure profile for the input with the BLOSUM62
 probabilities as NULL model.</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://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</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"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>bb_list</em> and
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>bb_list</em> and
 <em>residue_depths</em> differ in size, when their size is 0
 or when database does not contain residue depth data.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.StructureDB.SetStructureProfile">
-<code class="descname">SetStructureProfile</code><span class="sig-paren">(</span><em>coord_idx</em>, <em>prof</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.SetStructureProfile" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.SetStructureProfile">
+<span class="sig-name descname"><span class="pre">SetStructureProfile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">coord_idx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prof</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.SetStructureProfile" title="Permalink to this definition">¶</a></dt>
 <dd><p>Takes the <em>prof</em> and sets the corresponding StructureProfile
 frequencies in entry with <em>coord_idx</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>prof</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a>) – Source of profile frequencies</li>
-<li><strong>coord_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – StructureDB index of entry for which to set frequencies
-(in [0, <a class="reference internal" href="#promod3.loop.StructureDB.GetNumCoords" title="promod3.loop.StructureDB.GetNumCoords"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumCoords()</span></code></a>-1])</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>prof</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a>) – Source of profile frequencies</p></li>
+<li><p><strong>coord_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – StructureDB index of entry for which to set frequencies
+(in [0, <a class="reference internal" href="#promod3.loop.StructureDB.GetNumCoords" title="promod3.loop.StructureDB.GetNumCoords"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumCoords()</span></code></a>-1])</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>coord_idx</em> does not match
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>coord_idx</em> does not match
 any entry in the db, when the size of the <em>prof</em> does not
 exactly match the size of entry at <em>coord_idx</em> or when database
 does not contain aa frequency struct data.</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.StructureDB.GetSubDB">
-<code class="descname">GetSubDB</code><span class="sig-paren">(</span><em>indices</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetSubDB" 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">A new database containing only the structural infos specified by
-your input. This might be useful if you’re testing stuff and want
-to make sure that you have no close homologue in the database.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>indices</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – Indices of chains to be added to the sub database (in [0,
-<a class="reference internal" href="#promod3.loop.StructureDB.GetNumCoords" title="promod3.loop.StructureDB.GetNumCoords"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumCoords()</span></code></a>-1])</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if you provide an invalid index</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="finding-fragments-based-on-geometric-features">
-<h2>Finding Fragments based on Geometric Features<a class="headerlink" href="#finding-fragments-based-on-geometric-features" title="Permalink to this headline">¶</a></h2>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.StructureDB.GetSubDB">
+<span class="sig-name descname"><span class="pre">GetSubDB</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">indices</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.StructureDB.GetSubDB" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>A new database containing only the structural infos specified by
+your input. This might be useful if you’re testing stuff and want
+to make sure that you have no close homologue in the database.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>indices</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – Indices of chains to be added to the sub database (in [0,
+<a class="reference internal" href="#promod3.loop.StructureDB.GetNumCoords" title="promod3.loop.StructureDB.GetNumCoords"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumCoords()</span></code></a>-1])</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if you provide an invalid index</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</section>
+<section id="finding-fragments-based-on-geometric-features">
+<h2>Finding Fragments based on Geometric Features<a class="headerlink" href="#finding-fragments-based-on-geometric-features" title="Permalink to this heading">¶</a></h2>
 <p>The fragment database allows to organize, search and access the information
 stored in a structural database (<a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a>). In its current form it
 groups fragments in bins according to their length (incl. stems) and the
@@ -876,8 +816,8 @@ between the N-stem C atom and the C-stem N atom). It can therefore be searched
 for fragments matching a certain geometry of N and C stems. The bins are
 accessed through a hash table, making searching the database ultra fast.</p>
 <p>This example illustrates how to create a custom FragDB based on a StructureDB:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">loop</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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">loop</span>
 
 <span class="c1"># let&#39;s load the default structure_db </span>
 <span class="n">structure_db</span> <span class="o">=</span> <span class="n">loop</span><span class="o">.</span><span class="n">StructureDB</span><span class="o">.</span><span class="n">LoadPortable</span><span class="p">(</span><span class="s2">&quot;data/port_str_db.dat&quot;</span><span class="p">)</span>
@@ -912,103 +852,93 @@ accessed through a hash table, making searching the database ultra fast.</p>
     <span class="n">io</span><span class="o">.</span><span class="n">SavePDB</span><span class="p">(</span><span class="n">bb_list</span><span class="o">.</span><span class="n">ToEntity</span><span class="p">(),</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="s2">&quot;.pdb&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
-<dl class="class">
-<dt id="promod3.loop.FragDB">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">FragDB</code><span class="sig-paren">(</span><em>dist_bin_size</em>, <em>angle_bin_size</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB" 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 last simple">
-<li><strong>dist_bin_size</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Size of the distance parameter binning in A</li>
-<li><strong>angle_bin_size</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Size of the angle parameter binning in degree</li>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.FragDB">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">FragDB</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dist_bin_size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle_bin_size</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>dist_bin_size</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Size of the distance parameter binning in A</p></li>
+<li><p><strong>angle_bin_size</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Size of the angle parameter binning in degree</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="staticmethod">
-<dt id="promod3.loop.FragDB.Load">
-<em class="property">static </em><code class="descname">Load</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.Load" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.FragDB.LoadPortable">
-<em class="property">static </em><code class="descname">LoadPortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.LoadPortable" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.FragDB.Load">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.Load" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.FragDB.LoadPortable">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LoadPortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.LoadPortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Loads raw binary file generated with <a class="reference internal" href="#promod3.loop.FragDB.Save" title="promod3.loop.FragDB.Save"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Save()</span></code></a> (optimized for fast
 reading) / portable file generated with <a class="reference internal" href="#promod3.loop.FragDB.SavePortable" title="promod3.loop.FragDB.SavePortable"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SavePortable()</span></code></a> (slower but
 less machine-dependent).</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load the database.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The loaded database</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.FragDB" title="promod3.loop.FragDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragDB</span></code></a></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
-file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.FragDB.Save">
-<code class="descname">Save</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.Save" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.FragDB.SavePortable">
-<code class="descname">SavePortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.SavePortable" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load the database.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The loaded database</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.loop.FragDB" title="promod3.loop.FragDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragDB</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
+file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.FragDB.Save">
+<span class="sig-name descname"><span class="pre">Save</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.Save" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.FragDB.SavePortable">
+<span class="sig-name descname"><span class="pre">SavePortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.SavePortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Saves a raw / portable binary representation. Use portable files for
 distribution and convert locally to raw files. See <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a>
 for details.</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – path to the file where the database will be saved</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.FragDB.GetAngularBinSize">
-<code class="descname">GetAngularBinSize</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.GetAngularBinSize" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – path to the file where the database will be saved</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.FragDB.GetAngularBinSize">
+<span class="sig-name descname"><span class="pre">GetAngularBinSize</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.GetAngularBinSize" title="Permalink to this definition">¶</a></dt>
 <dd><p>The size of the bins for the 4 angles describing the stem geometry and used
 to organize the fragments in the 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">Returns:</th><td class="field-body">The bin size in degrees</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.FragDB.GetDistBinSize">
-<code class="descname">GetDistBinSize</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.GetDistBinSize" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The bin size in degrees</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.FragDB.GetDistBinSize">
+<span class="sig-name descname"><span class="pre">GetDistBinSize</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.GetDistBinSize" title="Permalink to this definition">¶</a></dt>
 <dd><p>The size of the bins for the distance describing the stem geometry and used
 to organize the fragments in the 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">Returns:</th><td class="field-body">The bin size</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.FragDB.AddFragments">
-<code class="descname">AddFragments</code><span class="sig-paren">(</span><em>fragment_length</em>, <em>rmsd_cutoff</em>, <em>structure_db</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.AddFragments" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The bin size</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.FragDB.AddFragments">
+<span class="sig-name descname"><span class="pre">AddFragments</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fragment_length</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rmsd_cutoff</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">structure_db</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.AddFragments" title="Permalink to this definition">¶</a></dt>
 <dd><p>Iterates over all fragments of length <strong>fragment_length</strong> in
 <strong>structure_db</strong> and adds them to the fragment database.
 Fragments will be skipped if there is already a fragment in the database
@@ -1016,142 +946,129 @@ that has an RMSD smaller than <strong>rmsd_cutoff</strong>, where RMSD is calcul
 upon superposing the stem residues.
 As the fragments are added they are organized in bins described by their
 length and the geometry of their N and C stem.</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>fragment_length</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The length of the fragments that should be added to the databse</li>
-<li><strong>rmsd_cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The minimal RMSD between two fragments in the fragment database</li>
-<li><strong>structure_db</strong> (<a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a>) – Database delivering the structural info</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>fragment_length</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The length of the fragments that should be added to the databse</p></li>
+<li><p><strong>rmsd_cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The minimal RMSD between two fragments in the fragment database</p></li>
+<li><p><strong>structure_db</strong> (<a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a>) – Database delivering the structural info</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.FragDB.PrintStatistics">
-<code class="descname">PrintStatistics</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.PrintStatistics" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.FragDB.PrintStatistics">
+<span class="sig-name descname"><span class="pre">PrintStatistics</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.PrintStatistics" title="Permalink to this definition">¶</a></dt>
 <dd><p>Prints statistics about the fragment database, notably:</p>
 <ol class="arabic simple">
-<li>the number of different stem groups (number of bins used to group the
-fragments according to the geometry of their stem residues)</li>
-<li>The total number of fragments in the database</li>
-<li>The minimal and maximal number of fragments found in a stem group.</li>
+<li><p>the number of different stem groups (number of bins used to group the
+fragments according to the geometry of their stem residues)</p></li>
+<li><p>The total number of fragments in the database</p></li>
+<li><p>The minimal and maximal number of fragments found in a stem group.</p></li>
 </ol>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.FragDB.GetNumStemPairs">
-<code class="descname">GetNumStemPairs</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.GetNumStemPairs" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">GetNumStemPairs</code><span class="sig-paren">(</span><em>loop_length</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.FragDB.GetNumStemPairs">
+<span class="sig-name descname"><span class="pre">GetNumStemPairs</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.GetNumStemPairs" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">GetNumStemPairs</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">loop_length</span></span></em><span class="sig-paren">)</span></dt>
 <dd><p>Returns the number of stem groups (number of bins used to group the
 fragments according to the geometry of their stem residues) for the whole db
 or for fragments of a given length.</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_length</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The length of the fragments</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The number of groups</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.FragDB.GetNumFragments">
-<code class="descname">GetNumFragments</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.GetNumFragments" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">GetNumFragments</code><span class="sig-paren">(</span><em>loop_length</em><span class="sig-paren">)</span></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>loop_length</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The length of the fragments</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The number of groups</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.FragDB.GetNumFragments">
+<span class="sig-name descname"><span class="pre">GetNumFragments</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.GetNumFragments" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">GetNumFragments</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">loop_length</span></span></em><span class="sig-paren">)</span></dt>
 <dd><p>Returns the number of fragments in the database in total or for fragments of
 a given length.</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_length</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The length of the fragments</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">Number of fragments</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.FragDB.HasFragLength">
-<code class="descname">HasFragLength</code><span class="sig-paren">(</span><em>loop_length</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.HasFragLength" 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>loop_length</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The length of the fragments</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">True if fragments of given length exist.</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.FragDB.MaxFragLength">
-<code class="descname">MaxFragLength</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.MaxFragLength" 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">Maximal fragment length contained in db.</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.FragDB.SearchDB">
-<code class="descname">SearchDB</code><span class="sig-paren">(</span><em>n_stem</em>, <em>c_stem</em>, <em>frag_size</em>, <em>extra_bins=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.SearchDB" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>loop_length</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The length of the fragments</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Number of fragments</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.FragDB.HasFragLength">
+<span class="sig-name descname"><span class="pre">HasFragLength</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">loop_length</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.HasFragLength" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>loop_length</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The length of the fragments</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>True if fragments of given length exist.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.FragDB.MaxFragLength">
+<span class="sig-name descname"><span class="pre">MaxFragLength</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.MaxFragLength" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Maximal fragment length contained in db.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.FragDB.SearchDB">
+<span class="sig-name descname"><span class="pre">SearchDB</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">frag_size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">extra_bins</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FragDB.SearchDB" title="Permalink to this definition">¶</a></dt>
 <dd><p>Search the database for fragments matching the geometry of the <strong>n_stem</strong>
 and <strong>c_stem</strong> and of the same length as the <strong>frag_size</strong>.</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="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The N-stem</li>
-<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The C-stem</li>
-<li><strong>frag_size</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of residues of the fragment</li>
-<li><strong>extra_bins</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Whether to extend the search to include fragments from
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>n_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The N-stem</p></li>
+<li><p><strong>c_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The C-stem</p></li>
+<li><p><strong>frag_size</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of residues of the fragment</p></li>
+<li><p><strong>extra_bins</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Whether to extend the search to include fragments from
 <em>extra_bins</em> additional bins surrounding the bin given by
 the <em>n_stem</em> and <em>c_stem</em> geometry. If odd, we extend to
-the closer bin, otherwise symmetrically.</li>
+the closer bin, otherwise symmetrically.</p></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.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a> objects. These objects are related
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A list of <a class="reference internal" href="#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a> objects. These objects are related
 to the structural database with which you called the AddFragments
 function.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="finding-fragments-based-on-sequence-features">
-<h2>Finding Fragments based on Sequence Features<a class="headerlink" href="#finding-fragments-based-on-sequence-features" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="finding-fragments-based-on-sequence-features">
+<h2>Finding Fragments based on Sequence Features<a class="headerlink" href="#finding-fragments-based-on-sequence-features" title="Permalink to this heading">¶</a></h2>
 <p>In some cases you might want to use the <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a> to search
 for fragments that possibly represent the structural conformation of interest.
 The <a class="reference internal" href="#promod3.loop.Fragger" title="promod3.loop.Fragger"><code class="xref py py-class docutils literal notranslate"><span class="pre">Fragger</span></code></a> searches a <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a> for n fragments,
@@ -1161,33 +1078,33 @@ wrapped in a full fletched pipeline implemented in
 <a class="reference internal" href="../modelling/algorithms.html#promod3.modelling.FraggerHandle" title="promod3.modelling.FraggerHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">FraggerHandle</span></code></a> or search for fragments from scratch
 using an arbitrary linear combination of scores:</p>
 <ul class="simple">
-<li><strong>SeqID</strong>:
+<li><p><strong>SeqID</strong>:
 Calculates the fraction of amino acids being identical when comparing
-a potential fragment from the <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a> and the target sequence</li>
-<li><strong>SeqSim</strong>:
+a potential fragment from the <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a> and the target sequence</p></li>
+<li><p><strong>SeqSim</strong>:
 Calculates the avg. substitution matrix based sequence similarity of amino acids
 when comparing a potential fragment from the <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a> and the target
-sequence</li>
-<li><strong>SSAgree</strong>:
-Calculates the avg. agreement of the predicted secondary structure by PSIPRED <a class="reference internal" href="../references.html#jones1999" id="id3">[Jones1999]</a>
-and the dssp <a class="reference internal" href="../references.html#kabsch1983" id="id4">[kabsch1983]</a> assignment stored in the <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a>.
-The Agreement term is based on a probabilistic approach also used in HHSearch <a class="reference internal" href="../references.html#soding2005" id="id5">[soding2005]</a>.</li>
-<li><strong>TorsionProbability</strong>:
+sequence</p></li>
+<li><p><strong>SSAgree</strong>:
+Calculates the avg. agreement of the predicted secondary structure by PSIPRED <a class="reference internal" href="../references.html#jones1999" id="id3"><span>[Jones1999]</span></a>
+and the dssp <a class="reference internal" href="../references.html#kabsch1983" id="id4"><span>[kabsch1983]</span></a> assignment stored in the <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a>.
+The Agreement term is based on a probabilistic approach also used in HHSearch <a class="reference internal" href="../references.html#soding2005" id="id5"><span>[soding2005]</span></a>.</p></li>
+<li><p><strong>TorsionProbability</strong>:
 Calculates the avg. probability of observing the phi/psi dihedral angles of a potential
 fragment from the <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a> given the target sequence. The probabilities are
-extracted from the <a class="reference internal" href="torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a> class.</li>
-<li><strong>SequenceProfile</strong>:
+extracted from the <a class="reference internal" href="torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a> class.</p></li>
+<li><p><strong>SequenceProfile</strong>:
 Calculates the avg. profile score between the amino acid frequencies of a potential
 fragment from the <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a> and a target profile assuming a gapfree alignment
-in between them. The scores are calculated as L1 distances between the profile columns.</li>
-<li><strong>StructureProfile</strong>:
+in between them. The scores are calculated as L1 distances between the profile columns.</p></li>
+<li><p><strong>StructureProfile</strong>:
 Calculates the avg. profile score between the amino acid frequencies of a potential
 fragment from the <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a> and a target profile assuming a gapfree alignment
 in between them. The scores are calculated as L1 distances between the profile columns.
-In this case, the amino acid frequencies extracted from structural alignments are used.</li>
+In this case, the amino acid frequencies extracted from structural alignments are used.</p></li>
 </ul>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span><span class="p">,</span> <span class="n">seq</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">loop</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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">seq</span>
+<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">loop</span>
 
 <span class="c1"># load an example structure</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="s1">&#39;data/1CRN.pdb&#39;</span><span class="p">)</span>
@@ -1233,548 +1150,468 @@ In this case, the amino acid frequencies extracted from structural alignments ar
 <span class="n">fragger_map</span><span class="o">.</span><span class="n">SaveBB</span><span class="p">(</span><span class="s2">&quot;frag_map.dat&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
-<dl class="class">
-<dt id="promod3.loop.Fragger">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">Fragger</code><span class="sig-paren">(</span><em>seq</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.Fragger">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">Fragger</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">seq</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger" title="Permalink to this definition">¶</a></dt>
 <dd><p>A Fragger object to search a <a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a> for fragments with <strong>seq</strong>
 as target sequence. You need to add some score components before you can
 finally call the Fill function.</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> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence of fragments to be searched</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.loop.Fragger.Fill">
-<code class="descname">Fill</code><span class="sig-paren">(</span><em>db</em>, <em>rmsd_thresh</em>, <em>num_fragments</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.Fill" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>seq</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence of fragments to be searched</p>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.Fragger.Fill">
+<span class="sig-name descname"><span class="pre">Fill</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">db</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rmsd_thresh</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_fragments</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.Fill" title="Permalink to this definition">¶</a></dt>
 <dd><p>Searches <strong>db</strong> for <strong>num_fragments</strong> fragments with maximal
 score based on the defined score components.
 There will be no pair of fragments with RMSD below <strong>rmsd_thresh</strong>.</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>db</strong> (<a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a>) – Source of structural data</li>
-<li><strong>rmsd_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – To guarantee structural diversity</li>
-<li><strong>num_fragments</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of fragments to be extracted</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>db</strong> (<a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a>) – Source of structural data</p></li>
+<li><p><strong>rmsd_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – To guarantee structural diversity</p></li>
+<li><p><strong>num_fragments</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of fragments to be extracted</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.Fragger.AddSeqIDParameters">
-<code class="descname">AddSeqIDParameters</code><span class="sig-paren">(</span><em>w</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.AddSeqIDParameters" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.Fragger.AddSeqIDParameters">
+<span class="sig-name descname"><span class="pre">AddSeqIDParameters</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">w</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.AddSeqIDParameters" title="Permalink to this definition">¶</a></dt>
 <dd><p>Add SeqID score component with linear weight <strong>w</strong></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>w</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – linear weight</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.Fragger.AddSeqSimParameters">
-<code class="descname">AddSeqSimParameters</code><span class="sig-paren">(</span><em>w</em>, <em>subst</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.AddSeqSimParameters" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>w</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – linear weight</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.Fragger.AddSeqSimParameters">
+<span class="sig-name descname"><span class="pre">AddSeqSimParameters</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">w</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">subst</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.AddSeqSimParameters" title="Permalink to this definition">¶</a></dt>
 <dd><p>Add SeqSim score component with linear weight <strong>w</strong></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>w</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – linear weight</li>
-<li><strong>subst</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SubstWeightMatrix</span></code>) – Substitution matrix to calculate sequence similarity</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>w</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – linear weight</p></li>
+<li><p><strong>subst</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SubstWeightMatrix</span></code>) – Substitution matrix to calculate sequence similarity</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<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><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.AddSSAgreeParameters" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.Fragger.AddSSAgreeParameters">
+<span class="sig-name descname"><span class="pre">AddSSAgreeParameters</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">w</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psipred_prediction</span></span></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" />
-<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>w</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – linear weight</li>
-<li><strong>psipred_prediction</strong> (<a class="reference internal" href="#promod3.loop.PsipredPrediction" title="promod3.loop.PsipredPrediction"><code class="xref py py-class docutils literal notranslate"><span class="pre">PsipredPrediction</span></code></a>) – Psipred prediction for fraggers target_sequence</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>w</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – linear weight</p></li>
+<li><p><strong>psipred_prediction</strong> (<a class="reference internal" href="#promod3.loop.PsipredPrediction" title="promod3.loop.PsipredPrediction"><code class="xref py py-class docutils literal notranslate"><span class="pre">PsipredPrediction</span></code></a>) – Psipred prediction for fraggers target_sequence</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.Fragger.AddTorsionProbabilityParameters">
-<code class="descname">AddTorsionProbabilityParameters</code><span class="sig-paren">(</span><em>w</em>, <em>torsion_sampler</em>, <em>aa_before</em>, <em>aa_after</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.AddTorsionProbabilityParameters" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">AddTorsionProbabilityParameters</code><span class="sig-paren">(</span><em>w</em>, <em>torsion_sampler_list</em>, <em>aa_before</em>, <em>aa_after</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.Fragger.AddTorsionProbabilityParameters">
+<span class="sig-name descname"><span class="pre">AddTorsionProbabilityParameters</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">w</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">torsion_sampler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">aa_before</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">aa_after</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.AddTorsionProbabilityParameters" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">AddTorsionProbabilityParameters</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">w</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">torsion_sampler_list</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">aa_before</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">aa_after</span></span></em><span class="sig-paren">)</span></dt>
 <dd><p>Add TorsionProbability component of linear weight <strong>w</strong></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>w</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – linear weight</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 notranslate"><span class="pre">TorsionSampler</span></code></a>) – Torsion sampler to be used for all residues.</li>
-<li><strong>torsion_sampler_list</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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 notranslate"><span class="pre">TorsionSampler</span></code></a>) – One torsion sampler for each residue.</li>
-<li><strong>aa_before</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Name (3 letter code) of the residue before the sequence
-linked to this object.</li>
-<li><strong>aa_after</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Name (3 letter code) of the residue after the sequence
-linked to this object.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>w</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – linear weight</p></li>
+<li><p><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 notranslate"><span class="pre">TorsionSampler</span></code></a>) – Torsion sampler to be used for all residues.</p></li>
+<li><p><strong>torsion_sampler_list</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><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 notranslate"><span class="pre">TorsionSampler</span></code></a>) – One torsion sampler for each residue.</p></li>
+<li><p><strong>aa_before</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Name (3 letter code) of the residue before the sequence
+linked to this object.</p></li>
+<li><p><strong>aa_after</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Name (3 letter code) of the residue after the sequence
+linked to this object.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.Fragger.AddSequenceProfileParameters">
-<code class="descname">AddSequenceProfileParameters</code><span class="sig-paren">(</span><em>w</em>, <em>prof</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.AddSequenceProfileParameters" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.Fragger.AddSequenceProfileParameters">
+<span class="sig-name descname"><span class="pre">AddSequenceProfileParameters</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">w</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prof</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.AddSequenceProfileParameters" title="Permalink to this definition">¶</a></dt>
 <dd><p>Add SequenceProfile component of linear weight <strong>w</strong></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>w</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – linear weight</li>
-<li><strong>prof</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a>) – Profile for the fraggers target_sequence</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>w</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – linear weight</p></li>
+<li><p><strong>prof</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a>) – Profile for the fraggers target_sequence</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.Fragger.AddStructureProfileParameters">
-<code class="descname">AddStructureProfileParameters</code><span class="sig-paren">(</span><em>w</em>, <em>prof</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.AddStructureProfileParameters" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.Fragger.AddStructureProfileParameters">
+<span class="sig-name descname"><span class="pre">AddStructureProfileParameters</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">w</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prof</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.AddStructureProfileParameters" title="Permalink to this definition">¶</a></dt>
 <dd><p>Add StructureProfile component of linear weight <strong>w</strong></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>w</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – linear weight</li>
-<li><strong>prof</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a>) – Profile for the fraggers target_sequence</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>w</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – linear weight</p></li>
+<li><p><strong>prof</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a>) – Profile for the fraggers target_sequence</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.Fragger.__len__">
-<code class="descname">__len__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.__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 fragments stored in fragger.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.Fragger.__getitem__">
-<code class="descname">__getitem__</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.__getitem__" 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>index</strong> – Item to extract</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">Fragment at given position</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return 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 notranslate"><span class="pre">BackboneList</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.Fragger.GetFragmentInfo">
-<code class="descname">GetFragmentInfo</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.GetFragmentInfo" 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>index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of fragment</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference internal" href="#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a> of fragment at position <strong>index</strong></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.Fragger.GetScore">
-<code class="descname">GetScore</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.GetScore" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.Fragger.__len__">
+<span class="sig-name descname"><span class="pre">__len__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.__len__" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Number of fragments stored in fragger.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.Fragger.__getitem__">
+<span class="sig-name descname"><span class="pre">__getitem__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.__getitem__" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>index</strong> – Item to extract</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Fragment at given position</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.Fragger.GetFragmentInfo">
+<span class="sig-name descname"><span class="pre">GetFragmentInfo</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.GetFragmentInfo" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of fragment</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a> of fragment at position <strong>index</strong></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.Fragger.GetScore">
+<span class="sig-name descname"><span class="pre">GetScore</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.Fragger.GetScore" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns the final score of fragment defined by <strong>index</strong></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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of fragment</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">Score of fragment at position <strong>index</strong></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt>
-<code class="descname">GetScore</code><span class="sig-paren">(</span><em>parameter_index</em>, <em>index</em><span class="sig-paren">)</span></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of fragment</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Score of fragment at position <strong>index</strong></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="id0">
+<span class="sig-name descname"><span class="pre">GetScore</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">parameter_index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id0" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns the  single feature score defined by <strong>parameter_index</strong> of
 fragment defined by <strong>index</strong> with parameter indexing based on the order
 you added them to the <a class="reference internal" href="#promod3.loop.Fragger" title="promod3.loop.Fragger"><code class="xref py py-class docutils literal notranslate"><span class="pre">Fragger</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>parameter_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of score (0-indexed in order of score
-components that were added)</li>
-<li><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of fragment</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>parameter_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of score (0-indexed in order of score
+components that were added)</p></li>
+<li><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of fragment</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.loop.FraggerMap">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">FraggerMap</code><a class="headerlink" href="#promod3.loop.FraggerMap" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.FraggerMap">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">FraggerMap</span></span><a class="headerlink" href="#promod3.loop.FraggerMap" title="Permalink to this definition">¶</a></dt>
 <dd><p>A simple storable map of Fragger objects. The idea is that one can use the map
 to cache fragger lists that have already been generated.</p>
 <p>You can use <a class="reference internal" href="#promod3.loop.FraggerMap.Contains" title="promod3.loop.FraggerMap.Contains"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Contains()</span></code></a> to check if an item with a given key
-(<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) already exists and access items with the [] operator (see
+(<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) already exists and access items with the [] operator (see
 <a class="reference internal" href="#promod3.loop.FraggerMap.__getitem__" title="promod3.loop.FraggerMap.__getitem__"><code class="xref py py-meth docutils literal notranslate"><span class="pre">__getitem__()</span></code></a> and <a class="reference internal" href="#promod3.loop.FraggerMap.__setitem__" title="promod3.loop.FraggerMap.__setitem__"><code class="xref py py-meth docutils literal notranslate"><span class="pre">__setitem__()</span></code></a>).</p>
 <p>Serialization is meant to be temporary and is not guaranteed to be portable.</p>
-<dl class="method">
-<dt id="promod3.loop.FraggerMap.Load">
-<code class="descname">Load</code><span class="sig-paren">(</span><em>filename</em>, <em>db</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FraggerMap.Load" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.FraggerMap.Load">
+<span class="sig-name descname"><span class="pre">Load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">db</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FraggerMap.Load" title="Permalink to this definition">¶</a></dt>
 <dd><p>Loads raw binary file generated with <a class="reference internal" href="#promod3.loop.FraggerMap.Save" title="promod3.loop.FraggerMap.Save"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Save()</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 simple">
-<li><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file.</li>
-<li><strong>db</strong> (<a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a>) – Source of structural data used when filling the fragments.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file.</p></li>
+<li><p><strong>db</strong> (<a class="reference internal" href="#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a>) – Source of structural data used when filling the fragments.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The loaded map.</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.FraggerMap" title="promod3.loop.FraggerMap"><code class="xref py py-class docutils literal notranslate"><span class="pre">FraggerMap</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"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.FraggerMap.Save">
-<code class="descname">Save</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FraggerMap.Save" title="Permalink to this definition">¶</a></dt>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The loaded map.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.loop.FraggerMap" title="promod3.loop.FraggerMap"><code class="xref py py-class docutils literal notranslate"><span class="pre">FraggerMap</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.FraggerMap.Save">
+<span class="sig-name descname"><span class="pre">Save</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FraggerMap.Save" title="Permalink to this definition">¶</a></dt>
 <dd><p>Saves raw binary representation of this map. Only fragment infos and scores
 are stored and not the parameters for scoring. The coordinates are to be
 reread from a structure db.</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.FraggerMap.LoadBB">
-<code class="descname">LoadBB</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FraggerMap.LoadBB" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.FraggerMap.LoadBB">
+<span class="sig-name descname"><span class="pre">LoadBB</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FraggerMap.LoadBB" title="Permalink to this definition">¶</a></dt>
 <dd><p>Loads raw binary file generated with <a class="reference internal" href="#promod3.loop.FraggerMap.SaveBB" title="promod3.loop.FraggerMap.SaveBB"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SaveBB()</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>filename</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The loaded map.</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.FraggerMap" title="promod3.loop.FraggerMap"><code class="xref py py-class docutils literal notranslate"><span class="pre">FraggerMap</span></code></a></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.FraggerMap.SaveBB">
-<code class="descname">SaveBB</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FraggerMap.SaveBB" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The loaded map.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.loop.FraggerMap" title="promod3.loop.FraggerMap"><code class="xref py py-class docutils literal notranslate"><span class="pre">FraggerMap</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.FraggerMap.SaveBB">
+<span class="sig-name descname"><span class="pre">SaveBB</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FraggerMap.SaveBB" title="Permalink to this definition">¶</a></dt>
 <dd><p>Saves raw binary representation of this map. Only fragments and scores
 are stored and not the parameters for scoring. Here, we also store the
 coordinates. This file will hence be much larger than the one saved with
 <a class="reference internal" href="#promod3.loop.FraggerMap.Save" title="promod3.loop.FraggerMap.Save"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Save()</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>filename</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.FraggerMap.Contains">
-<code class="descname">Contains</code><span class="sig-paren">(</span><em>id</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FraggerMap.Contains" 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 a fragger object for this id is already in the map.</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.loop.FraggerMap.__getitem__">
-<code class="descname">__getitem__</code><span class="sig-paren">(</span><em>id</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FraggerMap.__getitem__" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.FraggerMap.__setitem__">
-<code class="descname">__setitem__</code><span class="sig-paren">(</span><em>id</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FraggerMap.__setitem__" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.FraggerMap.Contains">
+<span class="sig-name descname"><span class="pre">Contains</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">id</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FraggerMap.Contains" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>True, iff a fragger object for this id is already in the map.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.FraggerMap.__getitem__">
+<span class="sig-name descname"><span class="pre">__getitem__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">id</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FraggerMap.__getitem__" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.FraggerMap.__setitem__">
+<span class="sig-name descname"><span class="pre">__setitem__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">id</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.FraggerMap.__setitem__" title="Permalink to this definition">¶</a></dt>
 <dd><p>Allow read/write access (with [<em>id</em>]) to fragger object with given ID.</p>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="the-psipredprediction-class">
-<h2>The PsipredPrediction class<a class="headerlink" href="#the-psipredprediction-class" 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 <a class="reference internal" href="../references.html#jones1999" id="id6">[Jones1999]</a>.</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>
+</section>
+<section id="the-psipredprediction-class">
+<h2>The PsipredPrediction class<a class="headerlink" href="#the-psipredprediction-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.PsipredPrediction">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">PsipredPrediction</span></span><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 <a class="reference internal" href="../references.html#jones1999" id="id6"><span>[Jones1999]</span></a>.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.PsipredPrediction.PsipredPrediction">
+<span class="sig-name descname"><span class="pre">PsipredPrediction</span></span><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>
+<dl class="py method">
+<dt class="sig sig-object py" id="id7">
+<span class="sig-name descname"><span class="pre">PsipredPrediction</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prediction</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">confidence</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id7" title="Permalink to this definition">¶</a></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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – Confidence of prediction as element in [0,9]</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>prediction</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – Secondary structure prediction as element in [‘H’,’E’,’C’]</p></li>
+<li><p><strong>confidence</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – Confidence of prediction as element in [0,9]</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if size of <strong>prediction</strong> and
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><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>
 </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>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.PsipredPrediction.FromHHM">
+<span class="sig-name descname"><span class="pre">FromHHM</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></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 notranslate"><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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Name of file</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.PsipredPrediction.FromHoriz">
+<span class="sig-name descname"><span class="pre">FromHoriz</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></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 notranslate"><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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Name of file</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.PsipredPrediction.Add">
+<span class="sig-name descname"><span class="pre">Add</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prediction</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">confidence</span></span></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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Confidence of prediction, must be in [0,9]</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>prediction</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Prediction, must be one in [‘H’,’E’,’C’]</p></li>
+<li><p><strong>confidence</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Confidence of prediction, must be in [0,9]</p></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-exc docutils literal notranslate"><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>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if input contains invalid elements</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.PsipredPrediction.Extract">
+<span class="sig-name descname"><span class="pre">Extract</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">from</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">to</span></span></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 notranslate"><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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx to start</li>
-<li><strong>to</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx to end</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>from</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx to start</p></li>
+<li><p><strong>to</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx to end</p></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 notranslate"><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-exc docutils literal notranslate"><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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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-exc docutils literal notranslate"><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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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-exc docutils literal notranslate"><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>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.loop.PsipredPrediction" title="promod3.loop.PsipredPrediction"><code class="xref py py-class docutils literal notranslate"><span class="pre">PsipredPrediction</span></code></a> with the specified range</p>
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <strong>from</strong> or <strong>to</strong> are invalid</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.PsipredPrediction.GetPrediction">
+<span class="sig-name descname"><span class="pre">GetPrediction</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.PsipredPrediction.GetPrediction" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index to get prediction from</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Psipred prediction at pos <strong>idx</strong></p>
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <strong>idx</strong> is invalid</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.PsipredPrediction.GetConfidence">
+<span class="sig-name descname"><span class="pre">GetConfidence</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.PsipredPrediction.GetConfidence" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index to get confidence from</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Psipred confidence at pos <strong>idx</strong></p>
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <strong>idx</strong> is invalid</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.PsipredPrediction.GetPredictions">
+<span class="sig-name descname"><span class="pre">GetPredictions</span></span><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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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>
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> containing all the predictions in the container</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.PsipredPrediction.GetConfidences">
+<span class="sig-name descname"><span class="pre">GetConfidences</span></span><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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> containing all the confidences in the container</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> containing all the confidences in the container</p>
+</dd>
+</dl>
 </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>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.PsipredPrediction.__len__">
+<span class="sig-name descname"><span class="pre">__len__</span></span><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><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Number of elements in container</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -1795,12 +1632,12 @@ to <strong>to</strong>, not including <strong>to</strong> itself</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -1817,7 +1654,7 @@ to <strong>to</strong>, not including <strong>to</strong> itself</p>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a><ul>
       <li>Previous: <a href="torsion_sampler.html" title="previous chapter">Sampling Dihedral Angles</a></li>
       <li>Next: <a href="all_atom.html" title="next chapter">Handling All Atom Positions</a></li>
   </ul></li>
@@ -1826,27 +1663,33 @@ to <strong>to</strong>, not including <strong>to</strong> itself</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/loop/structure_db.rst.txt"
diff --git a/doc/html/loop/torsion_sampler.html b/doc/html/loop/torsion_sampler.html
index 04b213039aa44587e2d327407cb57c3d821d7acb..5f9d27ad55477b59ae884eeb6adeb38723e66d77 100644
--- a/doc/html/loop/torsion_sampler.html
+++ b/doc/html/loop/torsion_sampler.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Sampling Dihedral Angles &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Sampling Dihedral Angles &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Structural Data" href="structure_db.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,10 +31,12 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="sampling-dihedral-angles">
-<h1>Sampling Dihedral Angles<a class="headerlink" href="#sampling-dihedral-angles" title="Permalink to this headline">¶</a></h1>
+  <section id="sampling-dihedral-angles">
+<h1>Sampling Dihedral Angles<a class="headerlink" href="#sampling-dihedral-angles" title="Permalink to this heading">¶</a></h1>
 <p>The torsion sampler is the basic object used to sample the backbone torsion
 angles phi and psi. It can be used to calculate the probability distributions
 of backbone torsion angles from structures and save them, as well as loading
@@ -47,8 +50,8 @@ most methods which need to access a specific distribution can either take 3
 residue names or an index as input.</p>
 <p>As a showcase example, we randomly sample from a given torsion sample and
 store the resulting samples as a scatter plot:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">loop</span>
-<span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">conop</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></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">ost</span> <span class="kn">import</span> <span class="n">conop</span>
 <span class="c1"># this requires matplotlib and numpy</span>
 <span class="kn">import</span> <span class="nn">matplotlib</span>
 <span class="c1"># change next line, if you wish to use a GUI-based plot-output</span>
@@ -83,456 +86,387 @@ store the resulting samples as a scatter plot:</p>
 <span class="n">plt</span><span class="o">.</span><span class="n">savefig</span><span class="p">(</span><span class="s2">&quot;torsion_plot.png&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="section" id="defining-amino-acid-triplets">
-<h2>Defining Amino Acid triplets<a class="headerlink" href="#defining-amino-acid-triplets" title="Permalink to this headline">¶</a></h2>
+<section id="defining-amino-acid-triplets">
+<h2>Defining Amino Acid triplets<a class="headerlink" href="#defining-amino-acid-triplets" title="Permalink to this heading">¶</a></h2>
 <p>Since the torsion sampler considers triplets of amino acids, we need to define
 them. This is done with the so called torsion group definitions.
 Three strings represent the according positions of the consecutive
-amino acids. They are combined by “-“. It is either possible to
+amino acids. They are combined by “-”. It is either possible to
 use the keyword “all”, or write out all allowed amino acids by their
 three letter code and separate them by “,”. An example would be: “all-
 VAL,ILE-PRO”. There are cases where a tripeptide can match several
 group definitions. The list of group definitions is iterated for every
 combination of three consecutive amino acids and the first hit is
 decisive.</p>
-</div>
-<div class="section" id="the-torsion-sampler-class">
-<h2>The Torsion Sampler Class<a class="headerlink" href="#the-torsion-sampler-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.loop.TorsionSampler">
-<em class="property">class </em><code class="descclassname">promod3.loop.</code><code class="descname">TorsionSampler</code><span class="sig-paren">(</span><em>group_definitions</em>, <em>bins_per_dimension</em>, <em>seed</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="the-torsion-sampler-class">
+<h2>The Torsion Sampler Class<a class="headerlink" href="#the-torsion-sampler-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.loop.TorsionSampler">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.loop.</span></span><span class="sig-name descname"><span class="pre">TorsionSampler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">group_definitions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bins_per_dimension</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler" title="Permalink to this definition">¶</a></dt>
 <dd><p>Basic object used to sample the backbone torsion angles phi and psi.</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>group_definitions</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – List of group definitions defining amino acid triplets</li>
-<li><strong>bins_per_dimension</strong> – Number of bins to represent the 360 degrees of each
-torsion angle</li>
-<li><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for random number generator</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>group_definitions</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – List of group definitions defining amino acid triplets</p></li>
+<li><p><strong>bins_per_dimension</strong> – Number of bins to represent the 360 degrees of each
+torsion angle</p></li>
+<li><p><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for random number generator</p></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 notranslate"><span class="pre">RuntimeException</span></code> when there is a
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-class docutils literal notranslate"><span class="pre">RuntimeException</span></code> when there is a
 possible combination of the 20 standard amino
 acids not matching any of the group definitions.</p>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.loop.TorsionSampler.ExtractStatistics">
-<code class="descname">ExtractStatistics</code><span class="sig-paren">(</span><em>view</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.ExtractStatistics" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.TorsionSampler.ExtractStatistics">
+<span class="sig-name descname"><span class="pre">ExtractStatistics</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">view</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.ExtractStatistics" title="Permalink to this definition">¶</a></dt>
 <dd><p>Extracts backbone torsion angles from the structure and adds them to the appropriate histograms in the sampler.</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>view</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityView</span></code></a>) – structure from which parameters will be extracted</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>view</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityView</span></code></a>) – structure from which parameters will be extracted</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.TorsionSampler.UpdateDistributions">
-<code class="descname">UpdateDistributions</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.UpdateDistributions" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.TorsionSampler.UpdateDistributions">
+<span class="sig-name descname"><span class="pre">UpdateDistributions</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.UpdateDistributions" title="Permalink to this definition">¶</a></dt>
 <dd><p>Recalculates the probability distributions from the histograms.</p>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.loop.TorsionSampler.Load">
-<em class="property">static </em><code class="descname">Load</code><span class="sig-paren">(</span><em>filename</em>, <em>seed</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.Load" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.TorsionSampler.LoadPortable">
-<em class="property">static </em><code class="descname">LoadPortable</code><span class="sig-paren">(</span><em>filename</em>, <em>seed</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.LoadPortable" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.TorsionSampler.Load">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.Load" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.TorsionSampler.LoadPortable">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LoadPortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.LoadPortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Loads raw binary file generated with <a class="reference internal" href="#promod3.loop.TorsionSampler.Save" title="promod3.loop.TorsionSampler.Save"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Save()</span></code></a> (optimized for fast
 reading) / portable file generated with <a class="reference internal" href="#promod3.loop.TorsionSampler.SavePortable" title="promod3.loop.TorsionSampler.SavePortable"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SavePortable()</span></code></a> (slower but
 less machine-dependent).</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>filename</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load the sampler.</li>
-<li><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for random number generator (not saved in file).</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load the sampler.</p></li>
+<li><p><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for random number generator (not saved in file).</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">A torsion sampler</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.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</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"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A torsion sampler</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
 file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.TorsionSampler.Save">
-<code class="descname">Save</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.Save" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.loop.TorsionSampler.SavePortable">
-<code class="descname">SavePortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.SavePortable" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.TorsionSampler.Save">
+<span class="sig-name descname"><span class="pre">Save</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.Save" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.loop.TorsionSampler.SavePortable">
+<span class="sig-name descname"><span class="pre">SavePortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.SavePortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Saves a raw / portable binary representation. Use portable files for
 distribution and convert locally to raw files. See <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a>
 for details.</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where the sampler will be saved</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where the sampler will be saved</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.TorsionSampler.GetHistogramIndex">
-<code class="descname">GetHistogramIndex</code><span class="sig-paren">(</span><em>before</em>, <em>central</em>, <em>after</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.GetHistogramIndex" 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>before</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue before <em>central</em></li>
-<li><strong>central</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue for the central residue</li>
-<li><strong>after</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue after <em>central</em></li>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.TorsionSampler.GetHistogramIndex">
+<span class="sig-name descname"><span class="pre">GetHistogramIndex</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">before</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">central</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">after</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.GetHistogramIndex" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>before</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue before <em>central</em></p></li>
+<li><p><strong>central</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue for the central residue</p></li>
+<li><p><strong>after</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue after <em>central</em></p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">The index of the histogram corresponding to the triplet of residues specified.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The index of the histogram corresponding to the triplet of residues specified.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.TorsionSampler.GetHistogramIndices">
-<code class="descname">GetHistogramIndices</code><span class="sig-paren">(</span><em>sequence</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.GetHistogramIndices" 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>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence of length n from which histogram indices
-should created.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">List of length n-2 containing histogram indices of
-all consecutive amino acid triplets in <strong>sequence</strong></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <strong>sequence</strong> contains non
-standard amino acid</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.TorsionSampler.GetHistogramIndices">
+<span class="sig-name descname"><span class="pre">GetHistogramIndices</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sequence</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.GetHistogramIndices" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence of length n from which histogram indices
+should created.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>List of length n-2 containing histogram indices of
+all consecutive amino acid triplets in <strong>sequence</strong></p>
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <strong>sequence</strong> contains non
+standard amino acid</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.TorsionSampler.Draw">
-<code class="descname">Draw</code><span class="sig-paren">(</span><em>before</em>, <em>central</em>, <em>after</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.Draw" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.TorsionSampler.Draw">
+<span class="sig-name descname"><span class="pre">Draw</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">before</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">central</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">after</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.Draw" title="Permalink to this definition">¶</a></dt>
 <dd><p>Draws a pair of dihedral angles for the <em>central</em> residue from the distribution specific for such a triplet of 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 simple">
-<li><strong>before</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue before <em>central</em></li>
-<li><strong>central</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue for which torsion angles will be drawn</li>
-<li><strong>after</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue after <em>central</em></li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>before</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue before <em>central</em></p></li>
+<li><p><strong>central</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue for which torsion angles will be drawn</p></li>
+<li><p><strong>after</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue after <em>central</em></p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A pair of phi/psi angles</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A pair of phi/psi angles</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">Draw</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id0">
+<span class="sig-name descname"><span class="pre">Draw</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id0" title="Permalink to this definition">¶</a></dt>
 <dd><p>Draws a pair of dihedral angles from the distribution specified by the <em>index</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"><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the distribution from which a phi/psi pair will be drawn.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">A pair of phi/psi angles</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the distribution from which a phi/psi pair will be drawn.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A pair of phi/psi angles</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.TorsionSampler.DrawPhiGivenPsi">
-<code class="descname">DrawPhiGivenPsi</code><span class="sig-paren">(</span><em>before</em>, <em>central</em>, <em>after</em>, <em>psi</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.DrawPhiGivenPsi" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.TorsionSampler.DrawPhiGivenPsi">
+<span class="sig-name descname"><span class="pre">DrawPhiGivenPsi</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">before</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">central</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">after</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.DrawPhiGivenPsi" title="Permalink to this definition">¶</a></dt>
 <dd><p>Draws a <em>phi</em> angle for the <em>central</em> residue from the conditional distribution P( <em>phi</em> | <em>psi</em> ) specific for such a triplet of 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 simple">
-<li><strong>before</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue before <em>central</em></li>
-<li><strong>central</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue for which the <em>phi</em> will be drawn</li>
-<li><strong>after</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue after <em>central</em></li>
-<li><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – <em>psi</em> angle</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>before</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue before <em>central</em></p></li>
+<li><p><strong>central</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue for which the <em>phi</em> will be drawn</p></li>
+<li><p><strong>after</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue after <em>central</em></p></li>
+<li><p><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – <em>psi</em> angle</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">An angle</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>An angle</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">DrawPhiGivenPsi</code><span class="sig-paren">(</span><em>index</em>, <em>psi</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id1">
+<span class="sig-name descname"><span class="pre">DrawPhiGivenPsi</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id1" title="Permalink to this definition">¶</a></dt>
 <dd><p>Draws a <em>phi</em> angle from the conditional distribution P( <em>phi</em> | <em>psi</em> ) specified by the <em>index</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>index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the distribution from which a <em>phi</em> angle will be drawn.</li>
-<li><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – <em>psi</em> angle</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the distribution from which a <em>phi</em> angle will be drawn.</p></li>
+<li><p><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – <em>psi</em> angle</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">An angle</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>An angle</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.TorsionSampler.DrawPsiGivenPhi">
-<code class="descname">DrawPsiGivenPhi</code><span class="sig-paren">(</span><em>before</em>, <em>central</em>, <em>after</em>, <em>phi</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.DrawPsiGivenPhi" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.TorsionSampler.DrawPsiGivenPhi">
+<span class="sig-name descname"><span class="pre">DrawPsiGivenPhi</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">before</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">central</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">after</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">phi</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.DrawPsiGivenPhi" title="Permalink to this definition">¶</a></dt>
 <dd><p>Draws a <em>phi</em> angle for the <em>central</em> residue from the conditional distribution P( <em>psi</em> | <em>phi</em> ) specific for such a triplet of 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 simple">
-<li><strong>before</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue before <em>central</em></li>
-<li><strong>central</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue for which the <em>psi</em> angle will be drawn</li>
-<li><strong>after</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue after <em>central</em></li>
-<li><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – <em>phi</em> angle</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>before</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue before <em>central</em></p></li>
+<li><p><strong>central</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue for which the <em>psi</em> angle will be drawn</p></li>
+<li><p><strong>after</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue after <em>central</em></p></li>
+<li><p><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – <em>phi</em> angle</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">An angle</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>An angle</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">DrawPsiGivenPhi</code><span class="sig-paren">(</span><em>index</em>, <em>phi</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id2">
+<span class="sig-name descname"><span class="pre">DrawPsiGivenPhi</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">phi</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id2" title="Permalink to this definition">¶</a></dt>
 <dd><p>Draws a <em>phi</em> angle from the conditional distribution P( <em>psi</em> | <em>phi</em> ) specified by the <em>index</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>index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the distribution from which a psi angle will be drawn.</li>
-<li><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – <em>phi</em> angle</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the distribution from which a psi angle will be drawn.</p></li>
+<li><p><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – <em>phi</em> angle</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">An angle</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>An angle</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.TorsionSampler.GetProbability">
-<code class="descname">GetProbability</code><span class="sig-paren">(</span><em>before</em>, <em>central</em>, <em>after</em>, <em>phi</em>, <em>psi</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.GetProbability" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.TorsionSampler.GetProbability">
+<span class="sig-name descname"><span class="pre">GetProbability</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">before</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">central</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">after</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">phi</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.GetProbability" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns the probability of a specific pair of phi/psi angles for the central residue from the corresponding distribution.</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="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue before <em>central</em></li>
-<li><strong>central</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue for which the probability is calculated.</li>
-<li><strong>after</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue after <em>central</em></li>
-<li><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – phi angle</li>
-<li><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – psi angle</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>before</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue before <em>central</em></p></li>
+<li><p><strong>central</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue for which the probability is calculated.</p></li>
+<li><p><strong>after</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue after <em>central</em></p></li>
+<li><p><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – phi angle</p></li>
+<li><p><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – psi angle</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A probability</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A probability</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">GetProbability</code><span class="sig-paren">(</span><em>index</em>, <em>phi</em>, <em>psi</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id3">
+<span class="sig-name descname"><span class="pre">GetProbability</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">phi</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id3" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns the probability of a specific pair of phi/psi angles calulated from the distribution specified by <em>index</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>index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the distribution.</li>
-<li><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – phi angle</li>
-<li><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – psi angle</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the distribution.</p></li>
+<li><p><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – phi angle</p></li>
+<li><p><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – psi angle</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A probability</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A probability</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.TorsionSampler.GetPhiProbabilityGivenPsi">
-<code class="descname">GetPhiProbabilityGivenPsi</code><span class="sig-paren">(</span><em>before</em>, <em>central</em>, <em>after</em>, <em>phi</em>, <em>psi</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.GetPhiProbabilityGivenPsi" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.TorsionSampler.GetPhiProbabilityGivenPsi">
+<span class="sig-name descname"><span class="pre">GetPhiProbabilityGivenPsi</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">before</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">central</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">after</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">phi</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.GetPhiProbabilityGivenPsi" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns P( <em>phi</em> | <em>psi</em> ) for the central residue from the corresponding distribution.</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="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue before <em>central</em></li>
-<li><strong>central</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue for which the probability is calculated.</li>
-<li><strong>after</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue after <em>central</em></li>
-<li><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – phi angle</li>
-<li><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – psi angle</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>before</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue before <em>central</em></p></li>
+<li><p><strong>central</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue for which the probability is calculated.</p></li>
+<li><p><strong>after</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue after <em>central</em></p></li>
+<li><p><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – phi angle</p></li>
+<li><p><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – psi angle</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A probability</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A probability</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.TorsionSampler.GetPsiProbabilityGivenPhi">
-<code class="descname">GetPsiProbabilityGivenPhi</code><span class="sig-paren">(</span><em>before</em>, <em>central</em>, <em>after</em>, <em>psi</em>, <em>phi</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.GetPsiProbabilityGivenPhi" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.TorsionSampler.GetPsiProbabilityGivenPhi">
+<span class="sig-name descname"><span class="pre">GetPsiProbabilityGivenPhi</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">before</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">central</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">after</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">phi</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.GetPsiProbabilityGivenPhi" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns P( <em>psi</em> | <em>phi</em> ) for the central residue from the corresponding distribution.</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="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue before <em>central</em></li>
-<li><strong>central</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue for which the probability is calculated.</li>
-<li><strong>after</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue after <em>central</em></li>
-<li><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – phi angle</li>
-<li><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – psi angle</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>before</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue before <em>central</em></p></li>
+<li><p><strong>central</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue for which the probability is calculated.</p></li>
+<li><p><strong>after</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – id of the residue after <em>central</em></p></li>
+<li><p><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – phi angle</p></li>
+<li><p><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – psi angle</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A probability</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A probability</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">GetPhiProbabilityGivenPsi</code><span class="sig-paren">(</span><em>index</em>, <em>phi</em>, <em>psi</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id4">
+<span class="sig-name descname"><span class="pre">GetPhiProbabilityGivenPsi</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">phi</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id4" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns P( <em>phi</em> | <em>psi</em> ) for the central residue from the corresponding distribution.</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>index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the distribution.</li>
-<li><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – phi angle</li>
-<li><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – psi angle</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the distribution.</p></li>
+<li><p><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – phi angle</p></li>
+<li><p><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – psi angle</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A probability</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A probability</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">GetPsiProbabilityGivenPhi</code><span class="sig-paren">(</span><em>index</em>, <em>psi</em>, <em>phi</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id5">
+<span class="sig-name descname"><span class="pre">GetPsiProbabilityGivenPhi</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">phi</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id5" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns P( <em>psi</em> | <em>phi</em> ) for the central residue from the corresponding distribution.</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>index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the distribution.</li>
-<li><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – phi angle</li>
-<li><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – psi angle</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the distribution.</p></li>
+<li><p><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – phi angle</p></li>
+<li><p><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – psi angle</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A probability</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A probability</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.TorsionSampler.GetBinsPerDimension">
-<code class="descname">GetBinsPerDimension</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.GetBinsPerDimension" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.TorsionSampler.GetBinsPerDimension">
+<span class="sig-name descname"><span class="pre">GetBinsPerDimension</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.GetBinsPerDimension" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns the number of bins per dimension of the distributions.</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">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.loop.TorsionSampler.GetBinSize">
-<code class="descname">GetBinSize</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.GetBinSize" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.loop.TorsionSampler.GetBinSize">
+<span class="sig-name descname"><span class="pre">GetBinSize</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.loop.TorsionSampler.GetBinSize" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns the size of the bins (in radians) of the distributions.</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">Return type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -553,12 +487,12 @@ standard amino acid</td>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -575,7 +509,7 @@ standard amino acid</td>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a><ul>
       <li>Previous: <a href="backbone.html" title="previous chapter">Representing Loops</a></li>
       <li>Next: <a href="structure_db.html" title="next chapter">Structural Data</a></li>
   </ul></li>
@@ -584,27 +518,33 @@ standard amino acid</td>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/loop/torsion_sampler.rst.txt"
diff --git a/doc/html/modelling/algorithms.html b/doc/html/modelling/algorithms.html
index c4a6693b8cac004463b12f12fa57352eb9505fd5..ead8750cfe2aab9feefaf051ecfdc30cf2602f5a 100644
--- a/doc/html/modelling/algorithms.html
+++ b/doc/html/modelling/algorithms.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Modelling Algorithms &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Modelling Algorithms &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="sidechain - Sidechain Modelling" href="../sidechain/index.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,13 +31,15 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="modelling-algorithms">
-<h1>Modelling Algorithms<a class="headerlink" href="#modelling-algorithms" title="Permalink to this headline">¶</a></h1>
+  <section id="modelling-algorithms">
+<h1>Modelling Algorithms<a class="headerlink" href="#modelling-algorithms" title="Permalink to this heading">¶</a></h1>
 <p>A collection of algorithms that can be useful in modelling</p>
-<div class="section" id="rigid-blocks">
-<h2>Rigid Blocks<a class="headerlink" href="#rigid-blocks" title="Permalink to this headline">¶</a></h2>
+<section id="rigid-blocks">
+<h2>Rigid Blocks<a class="headerlink" href="#rigid-blocks" title="Permalink to this heading">¶</a></h2>
 <p>RMSD is a typical measure for similarity of two structures. Given an atom atom
 mapping between two structures, the minimum RMSD and the according superposition
 can efficiently be calculated using an approach based on singular value
@@ -55,133 +58,121 @@ the amount of solutions by merging them based on a threshold of similarity.
 The similarity is defined by the fraction of positions in solution A that are
 also present in solution B. As a final result, the algorithm therefore detects
 common rigid subsets of positions.</p>
-<dl class="method">
-<dt id="promod3.modelling.RigidBlocks">
-<code class="descclassname">promod3.modelling.</code><code class="descname">RigidBlocks</code><span class="sig-paren">(</span><em>bb_list_one</em>, <em>bb_list_two</em><span class="optional">[</span>, <em>window_length = 12</em>, <em>max_iterations=20</em>, <em>distance_thresh=3.0</em>, <em>cluster_thresh=0.9</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.RigidBlocks" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.RigidBlocks">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">RigidBlocks</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bb_list_one</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bb_list_two</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">window_length</span> <span class="pre">=</span> <span class="pre">12</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_iterations=20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">distance_thresh=3.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cluster_thresh=0.9</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.RigidBlocks" title="Permalink to this definition">¶</a></dt>
 <dd><p>Performs the RigidBlock algorithm on given input</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>bb_list_one</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a>) – First piece structural information from which CA
-positions will be extracted</li>
-<li><strong>bb_list_two</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a>) – Second piece of structural information from which CA
-positions will be extracted</li>
-<li><strong>window_length</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of sliding window to generate initial subsets</li>
-<li><strong>max_iterations</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Maximal numbers of iterations for every single
-iterative superposition</li>
-<li><strong>distance_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal distance two CA positions can have to be
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>bb_list_one</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a>) – First piece structural information from which CA
+positions will be extracted</p></li>
+<li><p><strong>bb_list_two</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a>) – Second piece of structural information from which CA
+positions will be extracted</p></li>
+<li><p><strong>window_length</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of sliding window to generate initial subsets</p></li>
+<li><p><strong>max_iterations</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Maximal numbers of iterations for every single
+iterative superposition</p></li>
+<li><p><strong>distance_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal distance two CA positions can have to be
 considered in the same rigid block and to select
 the common subset for the next iteration of the
-iterative superposition</li>
-<li><strong>cluster_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Threshold of similarity to perform the final merging
-of the solutions</li>
+iterative superposition</p></li>
+<li><p><strong>cluster_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Threshold of similarity to perform the final merging
+of the solutions</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#tuple" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> with the first element being a
-<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> defining the
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#tuple" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> with the first element being a
+<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> defining the
 indices of the common subsets (rigid blocks) relative
 to the input <a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a> objects
-and the second element being a <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of
-<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Mat4</span></code></a> defining the transformations to
+and the second element being a <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of
+<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Mat4</span></code></a> defining the transformations to
 superpose the according positions in <strong>bb_list_one</strong>
 onto <strong>bb_list_two</strong></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descclassname">promod3.modelling.</code><code class="descname">RigidBlocks</code><span class="sig-paren">(</span><em>aln</em><span class="optional">[</span>, <em>seq_one_idx=0</em>, <em>seq_two_idx=1</em>, <em>window_length = 12</em>, <em>max_iterations=20</em>, <em>distance_thresh=3.0</em>, <em>cluster_thresh=0.9</em><span class="optional">]</span><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id0">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">RigidBlocks</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aln</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">seq_one_idx=0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seq_two_idx=1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">window_length</span> <span class="pre">=</span> <span class="pre">12</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_iterations=20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">distance_thresh=3.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cluster_thresh=0.9</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#id0" title="Permalink to this definition">¶</a></dt>
 <dd><p>Performs the RigidBlock algorithm on given input</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>aln</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.AlignmentHandle</span></code></a>) – An alignment with attached <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityView</span></code></a>
-objects from which the positions are extracted</li>
-<li><strong>seq_idx_one</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The idx of the first sequence from which the CA
-positions will be extracted</li>
-<li><strong>seq_idx_two</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The idx of the second sequence from which the CA
-positions will be extracted</li>
-<li><strong>window_length</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of sliding window to generate initial subsets</li>
-<li><strong>max_iterations</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Maximal numbers of iterations for every single
-iterative superposition</li>
-<li><strong>distance_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal distance two CA positions can have to be
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>aln</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.AlignmentHandle</span></code></a>) – An alignment with attached <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityView</span></code></a>
+objects from which the positions are extracted</p></li>
+<li><p><strong>seq_idx_one</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The idx of the first sequence from which the CA
+positions will be extracted</p></li>
+<li><p><strong>seq_idx_two</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The idx of the second sequence from which the CA
+positions will be extracted</p></li>
+<li><p><strong>window_length</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of sliding window to generate initial subsets</p></li>
+<li><p><strong>max_iterations</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Maximal numbers of iterations for every single
+iterative superposition</p></li>
+<li><p><strong>distance_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal distance two CA positions can have to be
 considered in the same rigid block and to select
 the common subset for the next iteration of the
-iterative superposition</li>
-<li><strong>cluster_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Threshold of similarity to perform the final merging
-of the solutions</li>
+iterative superposition</p></li>
+<li><p><strong>cluster_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Threshold of similarity to perform the final merging
+of the solutions</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#tuple" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> with the first element being a
-<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> defining the
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#tuple" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> with the first element being a
+<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> defining the
 column indices of the common subsets (rigid blocks)
-relative to the input <a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.AlignmentHandle</span></code></a>
-and the second element being a <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of
-<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Mat4</span></code></a> defining the transformations to
+relative to the input <a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.AlignmentHandle</span></code></a>
+and the second element being a <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of
+<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Mat4</span></code></a> defining the transformations to
 superpose the according positions from the first
 sequence onto the second sequence.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descclassname">promod3.modelling.</code><code class="descname">RigidBlocks</code><span class="sig-paren">(</span><em>pos_one</em>, <em>pos_two</em><span class="optional">[</span>, <em>window_length = 12</em>, <em>max_iterations=20</em>, <em>distance_thresh=3.0</em>, <em>cluster_thresh=0.9</em><span class="optional">]</span><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id1">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">RigidBlocks</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pos_one</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos_two</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">window_length</span> <span class="pre">=</span> <span class="pre">12</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_iterations=20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">distance_thresh=3.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cluster_thresh=0.9</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#id1" title="Permalink to this definition">¶</a></dt>
 <dd><p>Performs the RigidBlock algorithm on given input</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>pos_one</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3List</span></code>) – First piece position information</li>
-<li><strong>pos_two</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3List</span></code>) – Second piece of position information</li>
-<li><strong>window_length</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of sliding window to generate initial subsets</li>
-<li><strong>max_iterations</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Maximal numbers of iterations for every single
-iterative superposition</li>
-<li><strong>distance_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal distance two CA positions can have to be
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>pos_one</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3List</span></code>) – First piece position information</p></li>
+<li><p><strong>pos_two</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3List</span></code>) – Second piece of position information</p></li>
+<li><p><strong>window_length</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of sliding window to generate initial subsets</p></li>
+<li><p><strong>max_iterations</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Maximal numbers of iterations for every single
+iterative superposition</p></li>
+<li><p><strong>distance_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal distance two CA positions can have to be
 considered in the same rigid block and to select
 the common subset for the next iteration of the
-iterative superposition</li>
-<li><strong>cluster_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Threshold of similarity to perform the final merging
-of the solutions</li>
+iterative superposition</p></li>
+<li><p><strong>cluster_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Threshold of similarity to perform the final merging
+of the solutions</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#tuple" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> with the first element being a
-<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> defining the
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#tuple" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> with the first element being a
+<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> defining the
 indices of the common subsets (rigid blocks) relative
 to the input <code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3List</span></code> objects
-and the second element being a <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of
-<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Mat4</span></code></a> defining the transformations to
+and the second element being a <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of
+<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Mat4</span></code></a> defining the transformations to
 superpose the according positions in <strong>pos_one</strong>
 onto <strong>pos_two</strong></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="de-novo-modelling">
-<h2>De Novo Modelling<a class="headerlink" href="#de-novo-modelling" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="de-novo-modelling">
+<h2>De Novo Modelling<a class="headerlink" href="#de-novo-modelling" title="Permalink to this heading">¶</a></h2>
 <p>ProMod3 provides algorithms for sampling and fragment detection.
 Here we provide an object, that facilitates fragment detection and caching,
 as well as a convenient function to combine the functionalities into an
 example pipeline.</p>
-<dl class="class">
-<dt id="promod3.modelling.FraggerHandle">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">FraggerHandle</code><span class="sig-paren">(</span><em>sequence</em>, <em>profile=None</em>, <em>psipred_pred=None</em>, <em>fragment_length=9</em>, <em>fragments_per_position=100</em>, <em>rmsd_thresh=0.0</em>, <em>structure_db=None</em>, <em>torsion_sampler_coil=None</em>, <em>torsion_sampler_helix=None</em>, <em>torsion_sampler_extended=None</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FraggerHandle" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.FraggerHandle">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">FraggerHandle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sequence</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">profile</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psipred_pred</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fragment_length</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">9</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fragments_per_position</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rmsd_thresh</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">structure_db</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">torsion_sampler_coil</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">torsion_sampler_helix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">torsion_sampler_extended</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FraggerHandle" title="Permalink to this definition">¶</a></dt>
 <dd><p>Handler for <a class="reference internal" href="../loop/structure_db.html#promod3.loop.Fragger" title="promod3.loop.Fragger"><code class="xref py py-class docutils literal notranslate"><span class="pre">Fragger</span></code></a> objects linked to a 
 specific chain.</p>
 <p>Tries to get the most accurate fragments given your input.
@@ -191,26 +182,30 @@ You can massively increase the accuracy of the found fragments by
 providing a secondary structure prediction and / or sequence profile.</p>
 <p>Following features influence the fragment search given your input:</p>
 <ul class="simple">
-<li><strong>sequence</strong>:<ul>
-<li>Sequence Similarity with BLOSUM62</li>
+<li><p><strong>sequence</strong>:</p>
+<ul>
+<li><p>Sequence Similarity with BLOSUM62</p></li>
 </ul>
 </li>
-<li><strong>sequence</strong>, <strong>psipred_pred</strong>:<ul>
-<li>Sequence Similarity with BLOSUM62</li>
-<li>Secondary Structure Agreement</li>
-<li>Secondary Structure Dependent Torsion Probabilities</li>
+<li><p><strong>sequence</strong>, <strong>psipred_pred</strong>:</p>
+<ul>
+<li><p>Sequence Similarity with BLOSUM62</p></li>
+<li><p>Secondary Structure Agreement</p></li>
+<li><p>Secondary Structure Dependent Torsion Probabilities</p></li>
 </ul>
 </li>
-<li><strong>sequence</strong>, <strong>profile</strong>:<ul>
-<li>Sequence Profile Score</li>
-<li>Structure Profile Score</li>
+<li><p><strong>sequence</strong>, <strong>profile</strong>:</p>
+<ul>
+<li><p>Sequence Profile Score</p></li>
+<li><p>Structure Profile Score</p></li>
 </ul>
 </li>
-<li><strong>sequence</strong>, <strong>psipred_pred</strong>, <strong>profile</strong>:<ul>
-<li>Secondary Structure Agreement</li>
-<li>Secondary Structure Dependent Torsion Probabilities</li>
-<li>Sequence Profile Score</li>
-<li>Structure Profile Score</li>
+<li><p><strong>sequence</strong>, <strong>psipred_pred</strong>, <strong>profile</strong>:</p>
+<ul>
+<li><p>Secondary Structure Agreement</p></li>
+<li><p>Secondary Structure Dependent Torsion Probabilities</p></li>
+<li><p>Sequence Profile Score</p></li>
+<li><p>Structure Profile Score</p></li>
 </ul>
 </li>
 </ul>
@@ -221,142 +216,129 @@ disk. When loading the FraggerHandle again, you need to provide all parameters
 again. These parameters must be exactly the same than the ones you used when
 initially constructing the FraggerHandle, especially the structure database.
 Weird things are happening otherwise.</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>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>/<a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceHandle</span></code></a>) – SEQRES for this chain</li>
-<li><strong>profile</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a>) – Sequence profile for this chain.</li>
-<li><strong>psipred_pred</strong> (<a class="reference internal" href="../loop/structure_db.html#promod3.loop.PsipredPrediction" title="promod3.loop.PsipredPrediction"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.PsipredPrediction</span></code></a>) – Psipred prediction for this chain.</li>
-<li><strong>fragment_length</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length (num. residues) of fragments to be extracted.</li>
-<li><strong>fragments_per_position</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of fragments to be extracted at each
-position.</li>
-<li><strong>rmsd_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – To guarantee structural diversity, no pair of fragments
-at a given position will have RMSD below <cite>rmsd_thresh</cite>.</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 notranslate"><span class="pre">promod3.loop.StructureDB</span></code></a>) – Source of structural data</li>
-<li><strong>torsion_sampler_coil</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 notranslate"><span class="pre">promod3.loop.TorsionSampler</span></code></a>) – Torsion sampler for coil residues.</li>
-<li><strong>torsion_sampler_helix</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 notranslate"><span class="pre">promod3.loop.TorsionSampler</span></code></a>) – Torsion sampler for helical residues.</li>
-<li><strong>torsion_sampler_extended</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 notranslate"><span class="pre">promod3.loop.TorsionSampler</span></code></a>) – Torsion sampler for extended residues.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>/<a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceHandle</span></code></a>) – SEQRES for this chain</p></li>
+<li><p><strong>profile</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a>) – Sequence profile for this chain.</p></li>
+<li><p><strong>psipred_pred</strong> (<a class="reference internal" href="../loop/structure_db.html#promod3.loop.PsipredPrediction" title="promod3.loop.PsipredPrediction"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.PsipredPrediction</span></code></a>) – Psipred prediction for this chain.</p></li>
+<li><p><strong>fragment_length</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length (num. residues) of fragments to be extracted.</p></li>
+<li><p><strong>fragments_per_position</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of fragments to be extracted at each
+position.</p></li>
+<li><p><strong>rmsd_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – To guarantee structural diversity, no pair of fragments
+at a given position will have RMSD below <cite>rmsd_thresh</cite>.</p></li>
+<li><p><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 notranslate"><span class="pre">promod3.loop.StructureDB</span></code></a>) – Source of structural data</p></li>
+<li><p><strong>torsion_sampler_coil</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 notranslate"><span class="pre">promod3.loop.TorsionSampler</span></code></a>) – Torsion sampler for coil residues.</p></li>
+<li><p><strong>torsion_sampler_helix</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 notranslate"><span class="pre">promod3.loop.TorsionSampler</span></code></a>) – Torsion sampler for helical residues.</p></li>
+<li><p><strong>torsion_sampler_extended</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 notranslate"><span class="pre">promod3.loop.TorsionSampler</span></code></a>) – Torsion sampler for extended residues.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.modelling.FraggerHandle.Get">
-<code class="descname">Get</code><span class="sig-paren">(</span><em>frag_pos</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FraggerHandle.Get" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.FraggerHandle.Get">
+<span class="sig-name descname"><span class="pre">Get</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">frag_pos</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FraggerHandle.Get" title="Permalink to this definition">¶</a></dt>
 <dd><p>Get fragger for sequence at index frag_pos..frag_pos+frag_length-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"><strong>frag_pos</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Start-index (note that sequence-indexing starts at 0)</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">A <code class="xref py py-class docutils literal notranslate"><span class="pre">Fragger</span></code> object.</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ValueError</span></code> if index out-of-bounds.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>frag_pos</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Start-index (note that sequence-indexing starts at 0)</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A <code class="xref py py-class docutils literal notranslate"><span class="pre">Fragger</span></code> object.</p>
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">ValueError</span></code> if index out-of-bounds.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.FraggerHandle.GetList">
-<code class="descname">GetList</code><span class="sig-paren">(</span><em>pos_start=0</em>, <em>pos_end=-1</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FraggerHandle.GetList" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.FraggerHandle.GetList">
+<span class="sig-name descname"><span class="pre">GetList</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pos_start</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos_end</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FraggerHandle.GetList" title="Permalink to this definition">¶</a></dt>
 <dd><p>Get List of fraggers covering sequence indices pos_start..pos_end.</p>
 <p>This will return an empty list if range is smaller than fragment_length.</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>pos_start</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Start-index (note that sequence-indexing starts at 0)</li>
-<li><strong>pos_end</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – End-index or -1 if it should go to the sequence-end.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>pos_start</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Start-index (note that sequence-indexing starts at 0)</p></li>
+<li><p><strong>pos_end</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – End-index or -1 if it should go to the sequence-end.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">A <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <code class="xref py py-class docutils literal notranslate"><span class="pre">Fragger</span></code> objects.</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-exc docutils literal notranslate"><span class="pre">ValueError</span></code> if indices out-of-bounds.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <code class="xref py py-class docutils literal notranslate"><span class="pre">Fragger</span></code> objects.</p>
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">ValueError</span></code> if indices out-of-bounds.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.FraggerHandle.LoadCached">
-<code class="descname">LoadCached</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FraggerHandle.LoadCached" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.FraggerHandle.LoadCached">
+<span class="sig-name descname"><span class="pre">LoadCached</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FraggerHandle.LoadCached" title="Permalink to this definition">¶</a></dt>
 <dd><p>Load fragger objects stored with <a class="reference internal" href="#promod3.modelling.FraggerHandle.SaveCached" title="promod3.modelling.FraggerHandle.SaveCached"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SaveCached()</span></code></a>.
 Note that here we require that the same structure db is set as was
 used when <cite>filename</cite> was saved.</p>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.FraggerHandle.SaveCached">
-<code class="descname">SaveCached</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FraggerHandle.SaveCached" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.FraggerHandle.SaveCached">
+<span class="sig-name descname"><span class="pre">SaveCached</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FraggerHandle.SaveCached" title="Permalink to this definition">¶</a></dt>
 <dd><p>Save cached fraggers.</p>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.GenerateDeNovoTrajectories">
-<code class="descclassname">promod3.modelling.</code><code class="descname">GenerateDeNovoTrajectories</code><span class="sig-paren">(</span><em>sequence</em>, <em>num_trajectories=200</em>, <em>avg_sampling_per_position=600</em>, <em>profile=None</em>, <em>psipred_prediction=None</em>, <em>fragment_handler=None</em>, <em>scorer=None</em>, <em>scorer_env=None</em>, <em>scoring_weights=None</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.GenerateDeNovoTrajectories" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.GenerateDeNovoTrajectories">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">GenerateDeNovoTrajectories</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sequence</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_trajectories</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">200</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">avg_sampling_per_position</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">600</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">profile</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psipred_prediction</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fragment_handler</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scorer</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scorer_env</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scoring_weights</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.GenerateDeNovoTrajectories" title="Permalink to this definition">¶</a></dt>
 <dd><p>Example de novo modelling pipeline based on Fragment sampling and
 backbone scoring. Take this as a starting point for more advanced
 de novo procedures.</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>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – The sequence you want to sample</li>
-<li><strong>num_trajectories</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The number of sampling trajectories you
-want to generate</li>
-<li><strong>avg_sampling_per_position</strong> – Number of Monte Carlo sampling steps
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – The sequence you want to sample</p></li>
+<li><p><strong>num_trajectories</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The number of sampling trajectories you
+want to generate</p></li>
+<li><p><strong>avg_sampling_per_position</strong> – Number of Monte Carlo sampling steps
 the total number is: 
-len(<strong>sequence</strong>) * <strong>avg_sampling_per_position</strong></li>
-<li><strong>profile</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a>) – The sequence profile for <strong>sequence</strong>. This increases the 
-fragment search performance.</li>
-<li><strong>psipred_prediction</strong> (<a class="reference internal" href="../loop/structure_db.html#promod3.loop.PsipredPrediction" title="promod3.loop.PsipredPrediction"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.PsipredPrediction</span></code></a>) – The psipred prediction for <strong>sequence</strong>. This
-increases the fragment search performance</li>
-<li><strong>fragment_handler</strong> (<a class="reference internal" href="#promod3.modelling.FraggerHandle" title="promod3.modelling.FraggerHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.modelling.FraggerHandle</span></code></a>) – You can provide already initialized fragments.
+len(<strong>sequence</strong>) * <strong>avg_sampling_per_position</strong></p></li>
+<li><p><strong>profile</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a>) – The sequence profile for <strong>sequence</strong>. This increases the 
+fragment search performance.</p></li>
+<li><p><strong>psipred_prediction</strong> (<a class="reference internal" href="../loop/structure_db.html#promod3.loop.PsipredPrediction" title="promod3.loop.PsipredPrediction"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.PsipredPrediction</span></code></a>) – The psipred prediction for <strong>sequence</strong>. This
+increases the fragment search performance</p></li>
+<li><p><strong>fragment_handler</strong> (<a class="reference internal" href="#promod3.modelling.FraggerHandle" title="promod3.modelling.FraggerHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.modelling.FraggerHandle</span></code></a>) – You can provide already initialized fragments.
 If you pass this parameter, <strong>profile</strong> and
 <strong>psipred_prediction</strong> get neglected and do
 not influence the fragment search, the
 ones you initialized <strong>fragment_handler</strong> with
-get used instead.</li>
-<li><strong>scorer</strong> (<a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.BackboneOverallScorer" title="promod3.scoring.BackboneOverallScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.scoring.BackboneOverallScorer</span></code></a>) – Scorer doing the backbone scoring. If not provided, a 
+get used instead.</p></li>
+<li><p><strong>scorer</strong> (<a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.BackboneOverallScorer" title="promod3.scoring.BackboneOverallScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.scoring.BackboneOverallScorer</span></code></a>) – Scorer doing the backbone scoring. If not provided, a 
 default one gets loaded with default objects with
 following keys: clash, reduced, cb_packing, hbond, cbeta, 
-torsion and pairwise</li>
-<li><strong>scorer_env</strong> (<a class="reference internal" href="../scoring/backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.scoring.BackboneScoreEnv</span></code></a>) – The scoring env that relates to <strong>scorer</strong>
-This environment will be changed!</li>
-<li><strong>scoring_weights</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#dict" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a>) – Linear weights for different scores. If not provided,
+torsion and pairwise</p></li>
+<li><p><strong>scorer_env</strong> (<a class="reference internal" href="../scoring/backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.scoring.BackboneScoreEnv</span></code></a>) – The scoring env that relates to <strong>scorer</strong>
+This environment will be changed!</p></li>
+<li><p><strong>scoring_weights</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#dict" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a>) – Linear weights for different scores. If not provided,
 the output of ScoringWeights.GetWeights() is used.
 Please note, that the weights must be consistent
-with the keys of the scores in <strong>scorer</strong></li>
+with the keys of the scores in <strong>scorer</strong></p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A <code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.LoopCandidates</span></code> object containing
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A <code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.LoopCandidates</span></code> object containing
 <strong>num_trajectories</strong> elements for further processing</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="motif-finder">
-<h2>Motif Finder<a class="headerlink" href="#motif-finder" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="motif-finder">
+<h2>Motif Finder<a class="headerlink" href="#motif-finder" title="Permalink to this heading">¶</a></h2>
 <p>Distinct spatial arrangements of atoms or functional groups are key for protein
 function. For their detection, ProMod3 implements the MotifFinder algorithm
 which is based on geometric hashing as described by Nussinov and Wolfson
-<a class="reference internal" href="../references.html#nussinov1991" id="id1">[nussinov1991]</a>. The algorithm consists of a learning stage, a detection stage
+<a class="reference internal" href="../references.html#nussinov1991" id="id2"><span>[nussinov1991]</span></a>. The algorithm consists of a learning stage, a detection stage
 and a refinement stage.</p>
 <p>Learning Stage: A motif (query) is represented by a set of coordinates. Triplets
 (p1, p2, p3) of coordinates are selected that define triangles. For each
@@ -408,8 +390,8 @@ iteration.</p>
 <span class="c1"># structure that only contains an ATP analog. The ATP from every </span>
 <span class="c1"># match is transformed and stored to disk for further processing.</span>
 
-<span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span><span class="p">,</span> <span class="n">geom</span><span class="p">,</span> <span class="n">mol</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">modelling</span>
+<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">geom</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">modelling</span>
 
 <span class="n">files</span> <span class="o">=</span> <span class="p">[</span><span class="s1">&#39;data/1E2Q.pdb&#39;</span><span class="p">,</span> <span class="s1">&#39;data/1KO5.pdb&#39;</span><span class="p">,</span> <span class="s1">&#39;data/2IYW.pdb&#39;</span><span class="p">]</span>
 
@@ -463,207 +445,188 @@ iteration.</p>
 
 </pre></div>
 </div>
-<dl class="class">
-<dt id="promod3.modelling.MotifQuery">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">MotifQuery</code><span class="sig-paren">(</span><em>positions</em>, <em>identifier</em>, <em>min_triangle_edge_length</em>, <em>max_triangle_edge_length</em>, <em>bin_size</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.MotifQuery" title="Permalink to this definition">¶</a></dt>
-<dt>
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">MotifQuery</code><span class="sig-paren">(</span><em>positions</em>, <em>identifier</em>, <em>min_triangle_edge_length</em>, <em>max_triangle_edge_length</em>, <em>bin_size</em>, <em>flags</em><span class="sig-paren">)</span></dt>
-<dt>
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">MotifQuery</code><span class="sig-paren">(</span><em>query_list</em><span class="sig-paren">)</span></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.MotifQuery">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">MotifQuery</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">positions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">identifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_triangle_edge_length</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_triangle_edge_length</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bin_size</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.MotifQuery" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">MotifQuery</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">positions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">identifier</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_triangle_edge_length</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_triangle_edge_length</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bin_size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">flags</span></span></em><span class="sig-paren">)</span></dt>
+<dt class="sig sig-object py">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">MotifQuery</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">query_list</span></span></em><span class="sig-paren">)</span></dt>
 <dd><p>A single query or a container of queries.
 The constructor performs the learning stage of a single query or combines
 several queries, so they can be searched at once.</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>positions</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3List</span></code>) – Coordinates of the query</li>
-<li><strong>identifier</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Descriptor of the query</li>
-<li><strong>min_triangle_edge_length</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – To avoid the full O(n^3) hell, triangles
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>positions</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3List</span></code>) – Coordinates of the query</p></li>
+<li><p><strong>identifier</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Descriptor of the query</p></li>
+<li><p><strong>min_triangle_edge_length</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – To avoid the full O(n^3) hell, triangles
 with any edge length below <em>min_triangle_edge_length</em>
-are skipped</li>
-<li><strong>max_triangle_edge_length</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Same as <em>min_triangle_edge_length</em> but
-upper bound</li>
-<li><strong>bin_size</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Bin size in A, relevant to generate hash map keys</li>
-<li><strong>flags</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Flag in range [0,63] for every coordinate in <em>positions</em>.
+are skipped</p></li>
+<li><p><strong>max_triangle_edge_length</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Same as <em>min_triangle_edge_length</em> but
+upper bound</p></li>
+<li><p><strong>bin_size</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Bin size in A, relevant to generate hash map keys</p></li>
+<li><p><strong>flags</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Flag in range [0,63] for every coordinate in <em>positions</em>.
 They’re also added to the hash map keys (default: 0).
 This means that additionally to having a matching
 relative position, the coordinates must also have a
 matching flag in the detection/refinement stage.
 If not provided (in the query and in the search),
-only coordinates matter.</li>
-<li><strong>query_list</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.modelling.MotifQuery" title="promod3.modelling.MotifQuery"><code class="xref py py-class docutils literal notranslate"><span class="pre">MotifQuery</span></code></a>) – E pluribus unum</li>
+only coordinates matter.</p></li>
+<li><p><strong>query_list</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.modelling.MotifQuery" title="promod3.modelling.MotifQuery"><code class="xref py py-class docutils literal notranslate"><span class="pre">MotifQuery</span></code></a>) – E pluribus unum</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.modelling.MotifQuery.Save">
-<code class="descname">Save</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.MotifQuery.Save" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.MotifQuery.Save">
+<span class="sig-name descname"><span class="pre">Save</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.MotifQuery.Save" title="Permalink to this definition">¶</a></dt>
 <dd><p>Saves the query down to disk</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – filename</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – filename</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.modelling.MotifQuery.Load">
-<em class="property">static </em><code class="descname">Load</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.MotifQuery.Load" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.MotifQuery.Load">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.MotifQuery.Load" title="Permalink to this definition">¶</a></dt>
 <dd><p>Load query from disk</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – filename</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – filename</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.MotifQuery.GetPositions">
-<code class="descname">GetPositions</code><span class="sig-paren">(</span><em>query_idx</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.MotifQuery.GetPositions" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.MotifQuery.GetPositions">
+<span class="sig-name descname"><span class="pre">GetPositions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">query_idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.MotifQuery.GetPositions" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns coordinates of specified query</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>query_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Query from which you want the positions</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>query_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Query from which you want the positions</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.MotifQuery.GetIdentifiers">
-<code class="descname">GetIdentifiers</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.MotifQuery.GetIdentifiers" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.MotifQuery.GetIdentifiers">
+<span class="sig-name descname"><span class="pre">GetIdentifiers</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.MotifQuery.GetIdentifiers" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns a list of all query identifiers.</p>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.MotifQuery.GetN">
-<code class="descname">GetN</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.MotifQuery.GetN" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.MotifQuery.GetN">
+<span class="sig-name descname"><span class="pre">GetN</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.MotifQuery.GetN" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns the number of queries</p>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.modelling.MotifMatch">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">MotifMatch</code><a class="headerlink" href="#promod3.modelling.MotifMatch" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.MotifMatch">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">MotifMatch</span></span><a class="headerlink" href="#promod3.modelling.MotifMatch" title="Permalink to this definition">¶</a></dt>
 <dd><p>Object that holds information about a match found in <a class="reference internal" href="#promod3.modelling.FindMotifs" title="promod3.modelling.FindMotifs"><code class="xref py py-meth docutils literal notranslate"><span class="pre">FindMotifs()</span></code></a></p>
-<dl class="attribute">
-<dt id="promod3.modelling.MotifMatch.query_idx">
-<code class="descname">query_idx</code><a class="headerlink" href="#promod3.modelling.MotifMatch.query_idx" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.MotifMatch.query_idx">
+<span class="sig-name descname"><span class="pre">query_idx</span></span><a class="headerlink" href="#promod3.modelling.MotifMatch.query_idx" title="Permalink to this definition">¶</a></dt>
 <dd><p>Index of matching query</p>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.MotifMatch.mat">
-<code class="descname">mat</code><a class="headerlink" href="#promod3.modelling.MotifMatch.mat" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.MotifMatch.mat">
+<span class="sig-name descname"><span class="pre">mat</span></span><a class="headerlink" href="#promod3.modelling.MotifMatch.mat" title="Permalink to this definition">¶</a></dt>
 <dd><p>Transformation matrix to superpose matching query onto target</p>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.MotifMatch.alignment">
-<code class="descname">alignment</code><a class="headerlink" href="#promod3.modelling.MotifMatch.alignment" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.MotifMatch.alignment">
+<span class="sig-name descname"><span class="pre">alignment</span></span><a class="headerlink" href="#promod3.modelling.MotifMatch.alignment" title="Permalink to this definition">¶</a></dt>
 <dd><p>List of tuples which define matching pairs of query/target coordinates</p>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.FindMotifs">
-<code class="descclassname">promod3.modelling.</code><code class="descname">FindMotifs</code><span class="sig-paren">(</span><em>query</em>, <em>target_positions</em>, <em>hash_tresh=0.4</em>, <em>distance_thresh=1.0</em>, <em>refine_thresh=0.7</em>, <em>flags=list()</em>, <em>swap_thresh=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FindMotifs" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.FindMotifs">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">FindMotifs</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">query</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">target_positions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">hash_tresh</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">distance_thresh</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">refine_thresh</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.7</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">flags</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">list()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">swap_thresh</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FindMotifs" title="Permalink to this definition">¶</a></dt>
 <dd><p>Performs the detection and refinement stages of the geometric hashing
 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 simple">
-<li><strong>query</strong> – Query to be searched</li>
-<li><strong>target_positions</strong> – Coordinates of the target</li>
-<li><strong>hash_thresh</strong> – Parameter relevant for detection stage</li>
-<li><strong>distance_thresh</strong> – Parameter relevant for refinement stage</li>
-<li><strong>refine_thresh</strong> – Parameter relevant for refinement stage</li>
-<li><strong>flags</strong> – Equivalent to <em>flags</em> in <a class="reference internal" href="#promod3.modelling.MotifQuery" title="promod3.modelling.MotifQuery"><code class="xref py py-class docutils literal notranslate"><span class="pre">MotifQuery</span></code></a>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>query</strong> – Query to be searched</p></li>
+<li><p><strong>target_positions</strong> – Coordinates of the target</p></li>
+<li><p><strong>hash_thresh</strong> – Parameter relevant for detection stage</p></li>
+<li><p><strong>distance_thresh</strong> – Parameter relevant for refinement stage</p></li>
+<li><p><strong>refine_thresh</strong> – Parameter relevant for refinement stage</p></li>
+<li><p><strong>flags</strong> – Equivalent to <em>flags</em> in <a class="reference internal" href="#promod3.modelling.MotifQuery" title="promod3.modelling.MotifQuery"><code class="xref py py-class docutils literal notranslate"><span class="pre">MotifQuery</span></code></a>
 constructor. If you didn’t provide anything there,
 this can be ignored. Only the actual coordinates
-matter in this case.</li>
-<li><strong>swap_thresh</strong> – <em>hash_thresh</em> and <em>refine_thresh</em> refer to fraction of
+matter in this case.</p></li>
+<li><p><strong>swap_thresh</strong> – <em>hash_thresh</em> and <em>refine_thresh</em> refer to fraction of
 covered positions in <em>query</em>. When setting this to
 True, they refer to the fraction of covered positions
-in <em>target_positions</em>.</li>
+in <em>target_positions</em>.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">All found matches</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="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.modelling.MotifMatch" title="promod3.modelling.MotifMatch"><code class="xref py py-class docutils literal notranslate"><span class="pre">MotifMatch</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>All found matches</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.modelling.MotifMatch" title="promod3.modelling.MotifMatch"><code class="xref py py-class docutils literal notranslate"><span class="pre">MotifMatch</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="afdb-modelling">
-<h2>AFDB Modelling<a class="headerlink" href="#afdb-modelling" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="afdb-modelling">
+<h2>AFDB Modelling<a class="headerlink" href="#afdb-modelling" title="Permalink to this heading">¶</a></h2>
 <p>Template based modelling using AFDB as template library comes with two
 challenges for which ProMod3 provides solutions:</p>
 <ul class="simple">
-<li>efficient structure storage for the whole AFDB: <a class="reference internal" href="#promod3.modelling.FSStructureServer" title="promod3.modelling.FSStructureServer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FSStructureServer</span></code></a></li>
-<li>fast sequence searches with limited sensitivity: <a class="reference internal" href="#promod3.modelling.PentaMatch" title="promod3.modelling.PentaMatch"><code class="xref py py-class docutils literal notranslate"><span class="pre">PentaMatch</span></code></a></li>
+<li><p>efficient structure storage for the whole AFDB: <a class="reference internal" href="#promod3.modelling.FSStructureServer" title="promod3.modelling.FSStructureServer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FSStructureServer</span></code></a></p></li>
+<li><p>fast sequence searches with limited sensitivity: <a class="reference internal" href="#promod3.modelling.PentaMatch" title="promod3.modelling.PentaMatch"><code class="xref py py-class docutils literal notranslate"><span class="pre">PentaMatch</span></code></a></p></li>
 </ul>
 <p>The creation of these two object requires extensive preprocessing. The required
 scripts and documentation are available in
 <cite>&lt;GIT_ROOT&gt;/extras/data_generation/afdb_modelling</cite>.</p>
 <p>Basic modelling functionality is available in the following two functions:</p>
 <ul class="simple">
-<li><a class="reference internal" href="#promod3.modelling.AFDBTPLSearch" title="promod3.modelling.AFDBTPLSearch"><code class="xref py py-func docutils literal notranslate"><span class="pre">AFDBTPLSearch()</span></code></a></li>
-<li><a class="reference internal" href="#promod3.modelling.AFDBModel" title="promod3.modelling.AFDBModel"><code class="xref py py-func docutils literal notranslate"><span class="pre">AFDBModel()</span></code></a></li>
+<li><p><a class="reference internal" href="#promod3.modelling.AFDBTPLSearch" title="promod3.modelling.AFDBTPLSearch"><code class="xref py py-func docutils literal notranslate"><span class="pre">AFDBTPLSearch()</span></code></a></p></li>
+<li><p><a class="reference internal" href="#promod3.modelling.AFDBModel" title="promod3.modelling.AFDBModel"><code class="xref py py-func docutils literal notranslate"><span class="pre">AFDBModel()</span></code></a></p></li>
 </ul>
-<dl class="function">
-<dt id="promod3.modelling.AFDBTPLSearch">
-<code class="descclassname">promod3.modelling.</code><code class="descname">AFDBTPLSearch</code><span class="sig-paren">(</span><em>fs_server</em>, <em>pentamatch</em>, <em>trg_seq</em>, <em>pentamatch_n=100</em>, <em>seqid_thresh=70</em>, <em>tpl_n=5</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.AFDBTPLSearch" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.AFDBTPLSearch">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">AFDBTPLSearch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fs_server</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pentamatch</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">trg_seq</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pentamatch_n</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seqid_thresh</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">70</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tpl_n</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.AFDBTPLSearch" title="Permalink to this definition">¶</a></dt>
 <dd><p>Searches <em>tpl_n</em> templates in <em>fs_server</em>/<em>pentamatch</em></p>
 <p>Step 1: Identifies <em>pentamatch_n</em> sequences in <em>pentamatch</em> with largest
 number of matching pentamers with respect to <em>trg_seq</em>.
-Step 2: Generate pairwise alignments with <a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/alg/seqalg/#ost.seq.alg.LocalAlign" title="(in OpenStructure v2.4.0)"><code class="xref py py-func docutils literal notranslate"><span class="pre">ost.seq.alg.LocalAlign()</span></code></a>
+Step 2: Generate pairwise alignments with <a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/alg/seqalg/#ost.seq.alg.LocalAlign" title="(in OpenStructure v2.9.2)"><code class="xref py py-func docutils literal notranslate"><span class="pre">ost.seq.alg.LocalAlign()</span></code></a>
 and only retain the ones with seqid &gt;= <em>seqid_thresh</em>.
 Step 3: Extract respective templates from <em>fs_server</em> and score them by
 the sum of plDDT of aligned residues divided by <em>trg_seq</em> length.
 Step 4: Return top <em>tpl_n</em> (or less)</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>fs_server</strong> (<a class="reference internal" href="#promod3.modelling.FSStructureServer" title="promod3.modelling.FSStructureServer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FSStructureServer</span></code></a>) – Structure database - The AFDB</li>
-<li><strong>pentamatch</strong> (<a class="reference internal" href="#promod3.modelling.PentaMatch" title="promod3.modelling.PentaMatch"><code class="xref py py-class docutils literal notranslate"><span class="pre">PentaMatch</span></code></a>) – Pentamatch object specific for <em>fs_server</em></li>
-<li><strong>trg_seq</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceHandle</span></code></a>/<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Target sequence</li>
-<li><strong>seqid_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Sequence Identity threshold [0-100] that alignment is
-considered further</li>
-<li><strong>tpl_n</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of templates that are finally returned based on
-described scoring</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>fs_server</strong> (<a class="reference internal" href="#promod3.modelling.FSStructureServer" title="promod3.modelling.FSStructureServer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FSStructureServer</span></code></a>) – Structure database - The AFDB</p></li>
+<li><p><strong>pentamatch</strong> (<a class="reference internal" href="#promod3.modelling.PentaMatch" title="promod3.modelling.PentaMatch"><code class="xref py py-class docutils literal notranslate"><span class="pre">PentaMatch</span></code></a>) – Pentamatch object specific for <em>fs_server</em></p></li>
+<li><p><strong>trg_seq</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceHandle</span></code></a>/<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Target sequence</p></li>
+<li><p><strong>seqid_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Sequence Identity threshold [0-100] that alignment is
+considered further</p></li>
+<li><p><strong>tpl_n</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of templates that are finally returned based on
+described scoring</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Pentamatch_n:</th><td class="field-body"><p class="first">Number of sequences that are initially searched in
+</dd>
+<dt class="field-even">Pentamatch_n<span class="colon">:</span></dt>
+<dd class="field-even"><p>Number of sequences that are initially searched in
 <em>pentamatch</em></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of pairs with first element being the tpl score,
-the second element being a <a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.AlignmentHandle</span></code></a> with
+</dd>
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of pairs with first element being the tpl score,
+the second element being a <a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.AlignmentHandle</span></code></a> with
 first sequence being <em>trg_seq</em> and second sequence the hit found
 in <em>fs_server</em> with structure attached. If <em>fs_server</em> has been
 generated with the default procedure described in the docs,
@@ -672,25 +635,21 @@ structure. That’s accessible with
 aln.GetSequence(1).GetAttachedView().GetName(). That is
 structured as “&lt;UniprotAC&gt; &lt;Fragment&gt; &lt;AFDB version&gt; &lt;Idx&gt;” where
 idx refers to the raw idx of the template in <em>fs_server</em>.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.AFDBModel">
-<code class="descclassname">promod3.modelling.</code><code class="descname">AFDBModel</code><span class="sig-paren">(</span><em>fs_server</em>, <em>pentamatch</em>, <em>trg_seq</em>, <em>transfer_bfactors=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.AFDBModel" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.AFDBModel">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">AFDBModel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fs_server</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pentamatch</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">trg_seq</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">transfer_bfactors</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.AFDBModel" title="Permalink to this definition">¶</a></dt>
 <dd><p>Build model with AFDB as template library</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>fs_server</strong> (<a class="reference internal" href="#promod3.modelling.FSStructureServer" title="promod3.modelling.FSStructureServer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FSStructureServer</span></code></a>) – Structure database - The AFDB</li>
-<li><strong>pentamatch</strong> (<a class="reference internal" href="#promod3.modelling.PentaMatch" title="promod3.modelling.PentaMatch"><code class="xref py py-class docutils literal notranslate"><span class="pre">PentaMatch</span></code></a>) – Pentamatch object specific for <em>fs_server</em></li>
-<li><strong>trg_seq</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceHandle</span></code></a>/<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Target sequence</li>
-<li><strong>transfer_bfactors</strong> – Simple heuristic to transfer bfactors (plDDT) to
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>fs_server</strong> (<a class="reference internal" href="#promod3.modelling.FSStructureServer" title="promod3.modelling.FSStructureServer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FSStructureServer</span></code></a>) – Structure database - The AFDB</p></li>
+<li><p><strong>pentamatch</strong> (<a class="reference internal" href="#promod3.modelling.PentaMatch" title="promod3.modelling.PentaMatch"><code class="xref py py-class docutils literal notranslate"><span class="pre">PentaMatch</span></code></a>) – Pentamatch object specific for <em>fs_server</em></p></li>
+<li><p><strong>trg_seq</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceHandle</span></code></a>/<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Target sequence</p></li>
+<li><p><strong>transfer_bfactors</strong> – Simple heuristic to transfer bfactors (plDDT) to
 model. In case of an aligned residue, bfactor
 (i.e. plDDT) gets simply transferred.
 Gaps are treated with a heuristic. This operates
@@ -701,395 +660,362 @@ We first derive a minimum plDDT which is
 values of the processed amino acids then linearly
 decreases from the stem towards that minimum with
 a slope of 0.25 (i.e. reach the minimum value when
-they’re 4 residues away).</li>
+they’re 4 residues away).</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#tuple" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> with 4 elements. 1: The model 2: The model score
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#tuple" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> with 4 elements. 1: The model 2: The model score
 based on plDDT 3: Pairwise alignment (first seq: <em>trg_seq</em>,
 second seq: tpl seq) 4: Template name (formatted as
 “&lt;uniprot AC&gt; &lt;AFDB_fragment&gt; &lt;AFDB_version&gt; &lt;chain name&gt;”).
 If no appropriate template can be found, all 4 elements are None.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.modelling.FSStructureServer">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">FSStructureServer</code><span class="sig-paren">(</span><em>db_dir</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FSStructureServer" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.FSStructureServer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">FSStructureServer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">db_dir</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FSStructureServer" title="Permalink to this definition">¶</a></dt>
 <dd><p>FSStructureServer - A filesystem based AFDB structure server</p>
 <p>Stores OMF data entries in huge binary files and extracts the respective
 binary data blobs with an indexing mechanism. Efficient reading of these
 huge files is delegated to the OS using the Python mmap module.</p>
 <p>Data creation happens with static Create function: <a class="reference internal" href="#promod3.modelling.FSStructureServer.FromDataChunks" title="promod3.modelling.FSStructureServer.FromDataChunks"><code class="xref py py-func docutils literal notranslate"><span class="pre">FromDataChunks()</span></code></a>.
 The required preprocessing must be done with external scripts.</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>db_dir</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Directory containing required files. 1) pos.dat (see
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>db_dir</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Directory containing required files. 1) pos.dat (see
 <a class="reference internal" href="#promod3.modelling.FSStructureServer.pos" title="promod3.modelling.FSStructureServer.pos"><code class="xref py py-attr docutils literal notranslate"><span class="pre">pos</span></code></a>) 2) length.dat (see <a class="reference internal" href="#promod3.modelling.FSStructureServer.length" title="promod3.modelling.FSStructureServer.length"><code class="xref py py-attr docutils literal notranslate"><span class="pre">length</span></code></a>)
 3) chunk.dat (see <a class="reference internal" href="#promod3.modelling.FSStructureServer.chunk" title="promod3.modelling.FSStructureServer.chunk"><code class="xref py py-attr docutils literal notranslate"><span class="pre">chunk</span></code></a>) 4) indexer.dat (see
 <a class="reference internal" href="#promod3.modelling.FSStructureServer.indexer" title="promod3.modelling.FSStructureServer.indexer"><code class="xref py py-attr docutils literal notranslate"><span class="pre">indexer</span></code></a>) 4) one or several files with pattern
-fs_data_[x].dat (see <a class="reference internal" href="#promod3.modelling.FSStructureServer.data" title="promod3.modelling.FSStructureServer.data"><code class="xref py py-attr docutils literal notranslate"><span class="pre">data</span></code></a>)</td>
-</tr>
-</tbody>
-</table>
-<dl class="attribute">
-<dt id="promod3.modelling.FSStructureServer.pos">
-<code class="descname">pos</code><a class="headerlink" href="#promod3.modelling.FSStructureServer.pos" title="Permalink to this definition">¶</a></dt>
+fs_data_[x].dat (see <a class="reference internal" href="#promod3.modelling.FSStructureServer.data" title="promod3.modelling.FSStructureServer.data"><code class="xref py py-attr docutils literal notranslate"><span class="pre">data</span></code></a>)</p>
+</dd>
+</dl>
+<dl class="py property">
+<dt class="sig sig-object py" id="promod3.modelling.FSStructureServer.pos">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">pos</span></span><a class="headerlink" href="#promod3.modelling.FSStructureServer.pos" title="Permalink to this definition">¶</a></dt>
 <dd><p>Start positions of data in internal linear memory layout</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 notranslate"><span class="pre">np.ndarray</span></code> with dtype np.int64</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-class docutils literal notranslate"><span class="pre">np.ndarray</span></code> with dtype np.int64</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.FSStructureServer.length">
-<code class="descname">length</code><a class="headerlink" href="#promod3.modelling.FSStructureServer.length" title="Permalink to this definition">¶</a></dt>
+<dl class="py property">
+<dt class="sig sig-object py" id="promod3.modelling.FSStructureServer.length">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">length</span></span><a class="headerlink" href="#promod3.modelling.FSStructureServer.length" title="Permalink to this definition">¶</a></dt>
 <dd><p>Lengths of data in internal linear memory layout</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 notranslate"><span class="pre">np.ndarray</span></code> with dtype np.int32</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-class docutils literal notranslate"><span class="pre">np.ndarray</span></code> with dtype np.int32</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.FSStructureServer.chunk">
-<code class="descname">chunk</code><a class="headerlink" href="#promod3.modelling.FSStructureServer.chunk" title="Permalink to this definition">¶</a></dt>
+<dl class="py property">
+<dt class="sig sig-object py" id="promod3.modelling.FSStructureServer.chunk">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">chunk</span></span><a class="headerlink" href="#promod3.modelling.FSStructureServer.chunk" title="Permalink to this definition">¶</a></dt>
 <dd><p>Chunk, in which entry is stored</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 notranslate"><span class="pre">np.ndarray</span></code> with dtype np.int16</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-class docutils literal notranslate"><span class="pre">np.ndarray</span></code> with dtype np.int16</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.FSStructureServer.indexer">
-<code class="descname">indexer</code><a class="headerlink" href="#promod3.modelling.FSStructureServer.indexer" title="Permalink to this definition">¶</a></dt>
+<dl class="py property">
+<dt class="sig sig-object py" id="promod3.modelling.FSStructureServer.indexer">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">indexer</span></span><a class="headerlink" href="#promod3.modelling.FSStructureServer.indexer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Internal data structure - Relates entries with data indices</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 notranslate"><span class="pre">np.ndarray</span></code> with dtype np.int32</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-class docutils literal notranslate"><span class="pre">np.ndarray</span></code> with dtype np.int32</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.FSStructureServer.search_keys">
-<code class="descname">search_keys</code><a class="headerlink" href="#promod3.modelling.FSStructureServer.search_keys" title="Permalink to this definition">¶</a></dt>
+<dl class="py property">
+<dt class="sig sig-object py" id="promod3.modelling.FSStructureServer.search_keys">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">search_keys</span></span><a class="headerlink" href="#promod3.modelling.FSStructureServer.search_keys" title="Permalink to this definition">¶</a></dt>
 <dd><p>Internal data structure - Relates entries with data indices</p>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.FSStructureServer.data">
-<code class="descname">data</code><a class="headerlink" href="#promod3.modelling.FSStructureServer.data" title="Permalink to this definition">¶</a></dt>
+<dl class="py property">
+<dt class="sig sig-object py" id="promod3.modelling.FSStructureServer.data">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">data</span></span><a class="headerlink" href="#promod3.modelling.FSStructureServer.data" title="Permalink to this definition">¶</a></dt>
 <dd><p>Internal binary data in memory mapped files</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/mmap.html#mmap.mmap" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">mmap.mmap</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/mmap.html#mmap.mmap" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">mmap.mmap</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.FSStructureServer.n_entries">
-<code class="descname">n_entries</code><a class="headerlink" href="#promod3.modelling.FSStructureServer.n_entries" title="Permalink to this definition">¶</a></dt>
+<dl class="py property">
+<dt class="sig sig-object py" id="promod3.modelling.FSStructureServer.n_entries">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">n_entries</span></span><a class="headerlink" href="#promod3.modelling.FSStructureServer.n_entries" title="Permalink to this definition">¶</a></dt>
 <dd><p>Number of entries</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.FSStructureServer.GetIdx">
-<code class="descname">GetIdx</code><span class="sig-paren">(</span><em>uniprot_ac</em>, <em>fragment='F1'</em>, <em>version='v4'</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FSStructureServer.GetIdx" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.FSStructureServer.GetIdx">
+<span class="sig-name descname"><span class="pre">GetIdx</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">uniprot_ac</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fragment</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'F1'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">version</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'v4'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FSStructureServer.GetIdx" title="Permalink to this definition">¶</a></dt>
 <dd><p>Get internal idx of stored data</p>
 <p>Can be used for data retrieval with <a class="reference internal" href="#promod3.modelling.FSStructureServer.GetOMFByIdx" title="promod3.modelling.FSStructureServer.GetOMFByIdx"><code class="xref py py-func docutils literal notranslate"><span class="pre">GetOMFByIdx()</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 simple">
-<li><strong>uniprot_ac</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Uniprot AC</li>
-<li><strong>fragment</strong> (class:<cite>str</cite>) – AFDB entries are potentially split to fragments
-99.999% of all entries only have one fragment: F1</li>
-<li><strong>version</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Version of entry</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>uniprot_ac</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Uniprot AC</p></li>
+<li><p><strong>fragment</strong> (class:<cite>str</cite>) – AFDB entries are potentially split to fragments
+99.999% of all entries only have one fragment: F1</p></li>
+<li><p><strong>version</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Version of entry</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Internal idx of that entry</p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/3.7/library/exceptions.html#RuntimeError" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> if no such entry exists</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Internal idx of that entry</p>
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/exceptions.html#RuntimeError" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> if no such entry exists</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.FSStructureServer.GetOMFByIdx">
-<code class="descname">GetOMFByIdx</code><span class="sig-paren">(</span><em>idx</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FSStructureServer.GetOMFByIdx" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.FSStructureServer.GetOMFByIdx">
+<span class="sig-name descname"><span class="pre">GetOMFByIdx</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FSStructureServer.GetOMFByIdx" title="Permalink to this definition">¶</a></dt>
 <dd><p>Get stored OMF data 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">Parameters:</th><td class="field-body"><strong>idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Internal index which can be derived from <a class="reference internal" href="#promod3.modelling.FSStructureServer.GetIdx" title="promod3.modelling.FSStructureServer.GetIdx"><code class="xref py py-func docutils literal notranslate"><span class="pre">GetIdx()</span></code></a></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">OMF data structure of type <code class="xref py py-class docutils literal notranslate"><span class="pre">ost.io.OMF</span></code></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/3.7/library/exceptions.html#RuntimeError" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> if <em>idx</em> is out of range</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Internal index which can be derived from <a class="reference internal" href="#promod3.modelling.FSStructureServer.GetIdx" title="promod3.modelling.FSStructureServer.GetIdx"><code class="xref py py-func docutils literal notranslate"><span class="pre">GetIdx()</span></code></a></p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>OMF data structure of type <code class="xref py py-class docutils literal notranslate"><span class="pre">ost.io.OMF</span></code></p>
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/exceptions.html#RuntimeError" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> if <em>idx</em> is out of range</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.FSStructureServer.GetOMF">
-<code class="descname">GetOMF</code><span class="sig-paren">(</span><em>uniprot_ac</em>, <em>fragment='F1'</em>, <em>version='v4'</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FSStructureServer.GetOMF" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.FSStructureServer.GetOMFByPLC">
+<span class="sig-name descname"><span class="pre">GetOMFByPLC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">length</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chunk</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FSStructureServer.GetOMFByPLC" title="Permalink to this definition">¶</a></dt>
 <dd><p>Get stored OMF data 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">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>uniprot_ac</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Uniprot AC</li>
-<li><strong>fragment</strong> (class:<cite>str</cite>) – AFDB entries are potentially split to fragments
-99.999% of all entries only have one fragment: F1</li>
-<li><strong>version</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Version of entry</li>
+<p>Get data by explicitely specifying PLC (pos, length, chunk). For expert
+use only, no range checks performed.
+Instead of providing a uniprot AC or an index, this function takes
+directly the internal pos, length and chunk parameters that are stored
+for that particular index. Use case: avoid loading the respective data
+files and only open the memory mapped files.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>pos</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Byte pos in specified chunk</p></li>
+<li><p><strong>length</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Num bytes of entry</p></li>
+<li><p><strong>chunk</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Chunk in which entry resides</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">OMF data structure of type <code class="xref py py-class docutils literal notranslate"><span class="pre">ost.io.OMF</span></code></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/3.7/library/exceptions.html#RuntimeError" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> if no such entry exists</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>OMF data structure of type <code class="xref py py-class docutils literal notranslate"><span class="pre">ost.io.OMF</span></code></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.modelling.FSStructureServer.FromDataChunks">
-<em class="property">static </em><code class="descname">FromDataChunks</code><span class="sig-paren">(</span><em>chunk_dir</em>, <em>db_dir</em>, <em>chunk_bytes=None</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FSStructureServer.FromDataChunks" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.FSStructureServer.GetOMF">
+<span class="sig-name descname"><span class="pre">GetOMF</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">uniprot_ac</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fragment</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'F1'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">version</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'v4'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FSStructureServer.GetOMF" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get stored OMF data structure</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>uniprot_ac</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Uniprot AC</p></li>
+<li><p><strong>fragment</strong> (class:<cite>str</cite>) – AFDB entries are potentially split to fragments
+99.999% of all entries only have one fragment: F1</p></li>
+<li><p><strong>version</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Version of entry</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>OMF data structure of type <code class="xref py py-class docutils literal notranslate"><span class="pre">ost.io.OMF</span></code></p>
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/exceptions.html#RuntimeError" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> if no such entry exists</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.FSStructureServer.FromDataChunks">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">FromDataChunks</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">chunk_dir</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">db_dir</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chunk_bytes</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FSStructureServer.FromDataChunks" title="Permalink to this definition">¶</a></dt>
 <dd><p>Static method to create new database from preprocessed data</p>
 <p>Data preprocessing consists of creating several data chunks that are
 pickled to disk.
 In detail: each chunk is a pickled file containing a list, where each
-entry is a tuple with 4 elements: 1) uniprot_ac (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>)
-2) fragment (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) 3) version (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) 4) structure data
+entry is a tuple with 4 elements: 1) uniprot_ac (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>)
+2) fragment (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) 3) version (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) 4) structure data
 (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.io.OMF</span></code> object which has been written to a bytes object and
 compressed with gzip)</p>
 <p>The data itself is again stored in chunks of binary data which are
 indexed.</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>chunk_dir</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to directory containing described data chunks</li>
-<li><strong>db_dir</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Output directory - Creates all files that are needed for
-<a class="reference internal" href="#promod3.modelling.FSStructureServer" title="promod3.modelling.FSStructureServer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FSStructureServer</span></code></a></li>
-<li><strong>chunk_bytes</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Size in bytes of binary data chunks in final
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>chunk_dir</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to directory containing described data chunks</p></li>
+<li><p><strong>db_dir</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Output directory - Creates all files that are needed for
+<a class="reference internal" href="#promod3.modelling.FSStructureServer" title="promod3.modelling.FSStructureServer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FSStructureServer</span></code></a></p></li>
+<li><p><strong>chunk_bytes</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Size in bytes of binary data chunks in final
 database - default None: Everything ends up in one
-single chunk</li>
+single chunk</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><a class="reference internal" href="#promod3.modelling.FSStructureServer" title="promod3.modelling.FSStructureServer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FSStructureServer</span></code></a> with all data from <em>chunk_dir</em></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.modelling.FSStructureServer" title="promod3.modelling.FSStructureServer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FSStructureServer</span></code></a> with all data from <em>chunk_dir</em></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.modelling.PentaMatch">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">PentaMatch</code><span class="sig-paren">(</span><em>db_dir</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.PentaMatch" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.PentaMatch">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">PentaMatch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">db_dir</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.PentaMatch" title="Permalink to this definition">¶</a></dt>
 <dd><p>Pentamer matching for fast sequence searches</p>
 <p><a class="reference internal" href="#promod3.modelling.PentaMatch" title="promod3.modelling.PentaMatch"><code class="xref py py-class docutils literal notranslate"><span class="pre">PentaMatch</span></code></a> has fast sequence searches with low sensitivity as
 use case. Specifically searching the full AFDB. Stores all unique pentamers
 for each search sequence. Given a query sequence, it computes the number of
 matching pentamers with respect to each search sequence and returns the top
 hits.</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>db_dir</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Directory containing all required files (indexer.dat,
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>db_dir</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Directory containing all required files (indexer.dat,
 pos.dat, length.dat, meta.dat). New <a class="reference internal" href="#promod3.modelling.PentaMatch" title="promod3.modelling.PentaMatch"><code class="xref py py-class docutils literal notranslate"><span class="pre">PentaMatch</span></code></a>
 objects can be derived using the static <a class="reference internal" href="#promod3.modelling.PentaMatch.FromSeqList" title="promod3.modelling.PentaMatch.FromSeqList"><code class="xref py py-func docutils literal notranslate"><span class="pre">FromSeqList()</span></code></a>
-creator.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/3.7/library/exceptions.html#RuntimeError" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> if any required file is missing in <em>db_dir</em></td>
-</tr>
-</tbody>
-</table>
-<dl class="attribute">
-<dt id="promod3.modelling.PentaMatch.indexer">
-<code class="descname">indexer</code><a class="headerlink" href="#promod3.modelling.PentaMatch.indexer" title="Permalink to this definition">¶</a></dt>
+creator.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/exceptions.html#RuntimeError" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> if any required file is missing in <em>db_dir</em></p>
+</dd>
+</dl>
+<dl class="py property">
+<dt class="sig sig-object py" id="promod3.modelling.PentaMatch.indexer">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">indexer</span></span><a class="headerlink" href="#promod3.modelling.PentaMatch.indexer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Entry indices for pentamers</p>
 <p>Entry data for one pentamer can be extracted with the respective values in
 <a class="reference internal" href="#promod3.modelling.PentaMatch.pos" title="promod3.modelling.PentaMatch.pos"><code class="xref py py-attr docutils literal notranslate"><span class="pre">pos</span></code></a> and <a class="reference internal" href="#promod3.modelling.PentaMatch.length" title="promod3.modelling.PentaMatch.length"><code class="xref py py-attr docutils literal notranslate"><span class="pre">length</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">Type:</th><td class="field-body">memory mapped <code class="xref py py-class docutils literal notranslate"><span class="pre">np.ndarray</span></code> of dtype np.int32</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p>memory mapped <code class="xref py py-class docutils literal notranslate"><span class="pre">np.ndarray</span></code> of dtype np.int32</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.PentaMatch.pos">
-<code class="descname">pos</code><a class="headerlink" href="#promod3.modelling.PentaMatch.pos" title="Permalink to this definition">¶</a></dt>
+<dl class="py property">
+<dt class="sig sig-object py" id="promod3.modelling.PentaMatch.pos">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">pos</span></span><a class="headerlink" href="#promod3.modelling.PentaMatch.pos" title="Permalink to this definition">¶</a></dt>
 <dd><p>Start position for each pentamer in <a class="reference internal" href="#promod3.modelling.PentaMatch.indexer" title="promod3.modelling.PentaMatch.indexer"><code class="xref py py-attr docutils literal notranslate"><span class="pre">indexer</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">Type:</th><td class="field-body"><code class="xref py py-class docutils literal notranslate"><span class="pre">np.ndarray</span></code> of dtype np.int64 with 3.2E6 entries</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-class docutils literal notranslate"><span class="pre">np.ndarray</span></code> of dtype np.int64 with 3.2E6 entries</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.PentaMatch.length">
-<code class="descname">length</code><a class="headerlink" href="#promod3.modelling.PentaMatch.length" title="Permalink to this definition">¶</a></dt>
+<dl class="py property">
+<dt class="sig sig-object py" id="promod3.modelling.PentaMatch.length">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">length</span></span><a class="headerlink" href="#promod3.modelling.PentaMatch.length" title="Permalink to this definition">¶</a></dt>
 <dd><p>Length for each pentamer in <a class="reference internal" href="#promod3.modelling.PentaMatch.indexer" title="promod3.modelling.PentaMatch.indexer"><code class="xref py py-attr docutils literal notranslate"><span class="pre">indexer</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">Type:</th><td class="field-body"><code class="xref py py-class docutils literal notranslate"><span class="pre">np.ndarray</span></code> of dtype np.int32 with 3.2E6 entries</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-class docutils literal notranslate"><span class="pre">np.ndarray</span></code> of dtype np.int32 with 3.2E6 entries</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.PentaMatch.N">
-<code class="descname">N</code><a class="headerlink" href="#promod3.modelling.PentaMatch.N" title="Permalink to this definition">¶</a></dt>
+<dl class="py property">
+<dt class="sig sig-object py" id="promod3.modelling.PentaMatch.N">
+<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">N</span></span><a class="headerlink" href="#promod3.modelling.PentaMatch.N" title="Permalink to this definition">¶</a></dt>
 <dd><p>Number of entries in underlying <a class="reference internal" href="#promod3.modelling.FSStructureServer" title="promod3.modelling.FSStructureServer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FSStructureServer</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">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.PentaMatch.TopN">
-<code class="descname">TopN</code><span class="sig-paren">(</span><em>N</em>, <em>sequence</em>, <em>return_counts=False</em>, <em>unique_pentamers=True</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.PentaMatch.TopN" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.PentaMatch.TopN">
+<span class="sig-name descname"><span class="pre">TopN</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">N</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sequence</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">return_counts</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">unique_pentamers</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.PentaMatch.TopN" title="Permalink to this definition">¶</a></dt>
 <dd><p>Find top-N matches given <em>sequence</em></p>
 <p>Identifies unique pentamers in <em>sequence</em> and counts number of
 occurences in each entry. Returns the top-N entries with respect
 to counts.</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</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of results to return</li>
-<li><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence to search</li>
-<li><strong>return_counts</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Additionally return underlying pentamer counts</li>
-<li><strong>unique_pentamers</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Set to True if <a class="reference internal" href="#promod3.modelling.PentaMatch.indexer" title="promod3.modelling.PentaMatch.indexer"><code class="xref py py-attr docutils literal notranslate"><span class="pre">indexer</span></code></a> contains only
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>N</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of results to return</p></li>
+<li><p><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence to search</p></li>
+<li><p><strong>return_counts</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Additionally return underlying pentamer counts</p></li>
+<li><p><strong>unique_pentamers</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Set to True if <a class="reference internal" href="#promod3.modelling.PentaMatch.indexer" title="promod3.modelling.PentaMatch.indexer"><code class="xref py py-attr docutils literal notranslate"><span class="pre">indexer</span></code></a> contains only
 unique pentamers for each entry. This way we
 can use faster methods to accumulate counts.
 In detail: accumulator[indices] += 1 is much
 faster than np.add.at(accumulator, indices, 1).
 But the latter is required if there are
-duplicates.</li>
+duplicates.</p></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 external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> with length <em>N</em> specifying
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> with length <em>N</em> specifying
 entry indices. If <em>return_counts</em> is true, the
-<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> contains <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#tuple" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> with two elements:
+<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> contains <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#tuple" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> with two elements:
 1) count 2) index.</p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/3.7/library/exceptions.html#RuntimeError" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> if N is invalid or sequence is shorter
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/exceptions.html#RuntimeError" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> if N is invalid or sequence is shorter
 than 5 characters</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.modelling.PentaMatch.FromSeqList">
-<em class="property">static </em><code class="descname">FromSeqList</code><span class="sig-paren">(</span><em>fasta_file</em>, <em>db_dir</em>, <em>entries_from_seqnames=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.PentaMatch.FromSeqList" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.PentaMatch.FromSeqList">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">FromSeqList</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fasta_file</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">db_dir</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">entries_from_seqnames</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.PentaMatch.FromSeqList" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates PentaMatch object from Fasta file</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>fasta_file</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to Fasta file with sequences</li>
-<li><strong>db_dir</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Files required for <a class="reference internal" href="#promod3.modelling.PentaMatch" title="promod3.modelling.PentaMatch"><code class="xref py py-class docutils literal notranslate"><span class="pre">PentaMatch</span></code></a> will be dumped
-here, will be created if non-existent.</li>
-<li><strong>entries_from_seqnames</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If set to False, indices returned by
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>fasta_file</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to Fasta file with sequences</p></li>
+<li><p><strong>db_dir</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Files required for <a class="reference internal" href="#promod3.modelling.PentaMatch" title="promod3.modelling.PentaMatch"><code class="xref py py-class docutils literal notranslate"><span class="pre">PentaMatch</span></code></a> will be dumped
+here, will be created if non-existent.</p></li>
+<li><p><strong>entries_from_seqnames</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If set to False, indices returned by
 <a class="reference internal" href="#promod3.modelling.PentaMatch.TopN" title="promod3.modelling.PentaMatch.TopN"><code class="xref py py-func docutils literal notranslate"><span class="pre">TopN()</span></code></a> refer to position in
 <em>fasta_file</em>. If set to True, integer
-indices are parsed from sequence name.</li>
+indices are parsed from sequence name.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">class:<cite>PentaMatch</cite></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 notranslate"><span class="pre">ost.Error</span></code> if <em>entries_from_seqnames</em> is True but
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>class:<cite>PentaMatch</cite></p>
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.Error</span></code> if <em>entries_from_seqnames</em> is True but
 sequence name cannot be casted to int.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -1110,12 +1036,12 @@ sequence name cannot be casted to int.</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -1132,36 +1058,42 @@ sequence name cannot be casted to int.</p>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a><ul>
       <li>Previous: <a href="sidechain_reconstruction.html" title="previous chapter">Sidechain Reconstruction</a></li>
-      <li>Next: <a href="../sidechain/index.html" title="next chapter"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+      <li>Next: <a href="../sidechain/index.html" title="next chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
   </ul></li>
   </ul></li>
   </ul></li>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/modelling/algorithms.rst.txt"
diff --git a/doc/html/modelling/gap_handling.html b/doc/html/modelling/gap_handling.html
index 231efce67e407fdfc2fd86ebb74f68f7608f9c00..84859b7c5facf5adcbe32ff6473fbe9e7aada9fe 100644
--- a/doc/html/modelling/gap_handling.html
+++ b/doc/html/modelling/gap_handling.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Handling Gaps &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Handling Gaps &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Handling Loop Candidates" href="loop_candidates.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,266 +31,242 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="handling-gaps">
-<h1>Handling Gaps<a class="headerlink" href="#handling-gaps" title="Permalink to this headline">¶</a></h1>
+  <section id="handling-gaps">
+<h1>Handling Gaps<a class="headerlink" href="#handling-gaps" title="Permalink to this heading">¶</a></h1>
 <p>This chapter describes the gap classes and functionality attached to them. These
 classes / functions are used within the modelling pipeline.</p>
-<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>
+<section id="gap-classes">
+<h2>Gap classes<a class="headerlink" href="#gap-classes" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.StructuralGap">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">StructuralGap</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">before</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">after</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seq</span></span></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="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><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 notranslate"><span class="pre">before</span></code></a></li>
-<li><strong>after</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><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 notranslate"><span class="pre">after</span></code></a></li>
-<li><strong>seq</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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 notranslate"><span class="pre">seq</span></code></a></li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>before</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><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 notranslate"><span class="pre">before</span></code></a></p></li>
+<li><p><strong>after</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><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 notranslate"><span class="pre">after</span></code></a></p></li>
+<li><p><strong>seq</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><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 notranslate"><span class="pre">seq</span></code></a></p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first">A <a class="reference external" href="https://docs.python.org/3.7/library/exceptions.html#RuntimeError" title="(in Python v3.7)"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> if both residues are invalid or when both
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p>A <a class="reference external" href="https://docs.python.org/3.11/library/exceptions.html#RuntimeError" title="(in Python v3.11)"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> 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 class="simple">
+<li><p>residues are from different chains (if both valid)</p></li>
+<li><p><cite>before</cite> is located after <cite>after</cite></p></li>
+<li><p><cite>seq</cite> has a length which is inconsistent with the gap</p></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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.StructuralGap.GetChainIndex">
+<span class="sig-name descname"><span class="pre">GetChainIndex</span></span><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><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Index of chain, the gap is belonging to</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
 </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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.StructuralGap.GetChainName">
+<span class="sig-name descname"><span class="pre">GetChainName</span></span><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><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Name of chain, the gap is belonging to</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></p>
+</dd>
+</dl>
 </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="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ChainHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ChainHandle</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.StructuralGap.GetChain">
+<span class="sig-name descname"><span class="pre">GetChain</span></span><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><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Chain, the gap is belonging to</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ChainHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ChainHandle</span></code></a></p>
+</dd>
+</dl>
 </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 notranslate"><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 notranslate"><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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.StructuralGap.IsNTerminal">
+<span class="sig-name descname"><span class="pre">IsNTerminal</span></span><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><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>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 notranslate"><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 notranslate"><span class="pre">after</span></code></a> is valid)</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
 </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 notranslate"><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 notranslate"><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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.StructuralGap.IsCTerminal">
+<span class="sig-name descname"><span class="pre">IsCTerminal</span></span><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><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>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 notranslate"><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 notranslate"><span class="pre">after</span></code></a> is invalid)</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
 </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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.StructuralGap.IsTerminal">
+<span class="sig-name descname"><span class="pre">IsTerminal</span></span><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><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>True, iff gap is N- or C-terminal</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
 </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>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.StructuralGap.ShiftCTerminal">
+<span class="sig-name descname"><span class="pre">ShiftCTerminal</span></span><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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>True, iff shift succeeded (gap is only updated in that case)</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
 </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>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.StructuralGap.ExtendAtNTerm">
+<span class="sig-name descname"><span class="pre">ExtendAtNTerm</span></span><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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>True, iff extend succeeded (gap is only updated in that case)</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
 </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>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.StructuralGap.ExtendAtCTerm">
+<span class="sig-name descname"><span class="pre">ExtendAtCTerm</span></span><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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>True, iff extend succeeded (gap is only updated in that case)</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
 </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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.StructuralGap.GetLength">
+<span class="sig-name descname"><span class="pre">GetLength</span></span><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><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Length of the gap.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
 </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 notranslate"><span class="pre">StructuralGap</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.StructuralGap.Copy">
+<span class="sig-name descname"><span class="pre">Copy</span></span><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><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Copy of the gap.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.modelling.StructuralGap" title="promod3.modelling.StructuralGap"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructuralGap</span></code></a></p>
+</dd>
+</dl>
 </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 notranslate"><span class="pre">GetLength()</span></code></a> (read-only, <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>)</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.StructuralGap.length">
+<span class="sig-name descname"><span class="pre">length</span></span><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 notranslate"><span class="pre">GetLength()</span></code></a> (read-only, <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>)</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.StructuralGap.seq">
+<span class="sig-name descname"><span class="pre">seq</span></span><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/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><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="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>)</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.StructuralGap.before">
+<span class="sig-name descname"><span class="pre">before</span></span><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="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><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="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>)</p>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.StructuralGap.after">
+<span class="sig-name descname"><span class="pre">after</span></span><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="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><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>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.StructuralGap.full_seq">
+<span class="sig-name descname"><span class="pre">full_seq</span></span><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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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 notranslate"><span class="pre">StructuralGap</span></code></a>.</p>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.StructuralGapList">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">StructuralGapList</span></span><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/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><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 notranslate"><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>
+</section>
+<section id="gap-extender-classes">
+<h2>Gap Extender classes<a class="headerlink" href="#gap-extender-classes" title="Permalink to this heading">¶</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 notranslate"><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>, <em>seqres</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.GapExtender" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.GapExtender">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">GapExtender</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">gap</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seqres</span></span></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 notranslate"><div class="highlight"><pre><span></span>   -
   --
@@ -303,298 +280,259 @@ False if no new extension possible.</p>
    ----
 </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>gap</strong> (<a class="reference internal" href="#promod3.modelling.StructuralGap" title="promod3.modelling.StructuralGap"><code class="xref py py-class docutils literal notranslate"><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 notranslate"><span class="pre">Extend()</span></code></a>.</li>
-<li><strong>seqres</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceHandle</span></code></a>) – The full sequence of the chain, the gap is associated with.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>gap</strong> (<a class="reference internal" href="#promod3.modelling.StructuralGap" title="promod3.modelling.StructuralGap"><code class="xref py py-class docutils literal notranslate"><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 notranslate"><span class="pre">Extend()</span></code></a>.</p></li>
+<li><p><strong>seqres</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> / <a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceHandle</span></code></a>) – The full sequence of the chain, the gap is associated with.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last">An exception if a terminal gap is used to construct this.</p>
-</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>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p>An exception if a terminal gap is used to construct this.</p>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.GapExtender.Extend">
+<span class="sig-name descname"><span class="pre">Extend</span></span><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 <em>gap</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">Returns:</th><td class="field-body">False, if the <em>gap</em> cannot be extended any further. This happens
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>False, if the <em>gap</em> cannot be extended any further. This happens
 if it reaches a terminal or another insertion gap.
 Otherwise, the <em>gap</em> passed to the constructor is changed.
 The gaps are extended with ascending length and will always have
-valid termini.</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-</tbody>
-</table>
+valid termini.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.modelling.FullGapExtender">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">FullGapExtender</code><span class="sig-paren">(</span><em>gap</em>, <em>seqres</em>, <em>max_length=-1</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FullGapExtender" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.FullGapExtender">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">FullGapExtender</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">gap</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seqres</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_length</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FullGapExtender" title="Permalink to this definition">¶</a></dt>
 <dd><p>Cycles as GapExtender, but continues even if another gap was encountered.</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>gap</strong> (<a class="reference internal" href="#promod3.modelling.StructuralGap" title="promod3.modelling.StructuralGap"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructuralGap</span></code></a>) – The gap which will be extended by <a class="reference internal" href="#promod3.modelling.FullGapExtender.Extend" title="promod3.modelling.FullGapExtender.Extend"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Extend()</span></code></a>.</li>
-<li><strong>seqres</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceHandle</span></code></a>) – The full sequence of the chain, the gap is associated with.</li>
-<li><strong>max_length</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – <ul>
-<li>If -1, all possible non-terminal gaps are returned.</li>
-<li>If &gt;= 0, this restricts the max. gap-length
-(w/o termini) producable by <a class="reference internal" href="#promod3.modelling.FullGapExtender.Extend" title="promod3.modelling.FullGapExtender.Extend"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Extend()</span></code></a>.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>gap</strong> (<a class="reference internal" href="#promod3.modelling.StructuralGap" title="promod3.modelling.StructuralGap"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructuralGap</span></code></a>) – The gap which will be extended by <a class="reference internal" href="#promod3.modelling.FullGapExtender.Extend" title="promod3.modelling.FullGapExtender.Extend"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Extend()</span></code></a>.</p></li>
+<li><p><strong>seqres</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> / <a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceHandle</span></code></a>) – The full sequence of the chain, the gap is associated with.</p></li>
+<li><p><strong>max_length</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – <ul>
+<li><p>If -1, all possible non-terminal gaps are returned.</p></li>
+<li><p>If &gt;= 0, this restricts the max. gap-length
+(w/o termini) producable by <a class="reference internal" href="#promod3.modelling.FullGapExtender.Extend" title="promod3.modelling.FullGapExtender.Extend"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Extend()</span></code></a>.</p></li>
 </ul>
-</li>
+</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last">An exception if a terminal gap is used to construct this.</p>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.modelling.FullGapExtender.Extend">
-<code class="descname">Extend</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FullGapExtender.Extend" title="Permalink to this definition">¶</a></dt>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p>An exception if a terminal gap is used to construct this.</p>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.FullGapExtender.Extend">
+<span class="sig-name descname"><span class="pre">Extend</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FullGapExtender.Extend" title="Permalink to this definition">¶</a></dt>
 <dd><p>Tries to extend <em>gap</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">Returns:</th><td class="field-body">False, if the <em>gap</em> cannot be extended without exceeding <em>max_length</em>.
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>False, if the <em>gap</em> cannot be extended without exceeding <em>max_length</em>.
 Otherwise, the <em>gap</em> passed to the constructor is changed.
 The gaps are extended with ascending length and will always have
-valid termini.</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-</tbody>
-</table>
+valid termini.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
 </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>, <em>seqres</em>, <em>max_length=-2</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringGapExtender" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.ScoringGapExtender">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">ScoringGapExtender</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">gap</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">extension_penalty</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">penalties</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seqres</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_length</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-2</span></span></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 notranslate"><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 as defined by <em>penalties</em>.
 score = num_gap_extensions * <cite>extension_penalty</cite> + sum( <cite>penalties</cite> [i] )
 (i = resnum - 1 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 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 notranslate"><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 notranslate"><span class="pre">Extend()</span></code></a>.</li>
-<li><strong>extension_penalty</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Penalty for each residue added to gap.</li>
-<li><strong>seqres</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceHandle</span></code></a>) – The full sequence of the chain, the gap is associated with.</li>
-<li><strong>max_length</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – <ul>
-<li>If -2, <a class="reference internal" href="#promod3.modelling.GapExtender" title="promod3.modelling.GapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">GapExtender</span></code></a> is used instead of <a class="reference internal" href="#promod3.modelling.FullGapExtender" title="promod3.modelling.FullGapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">FullGapExtender</span></code></a>
-(i.e. it stops at gaps and termini).</li>
-<li>If -1, all possible non-terminal gaps are returned.</li>
-<li>If &gt;= 0, this restricts the max. gap-length (w/o termini)
-producable by <a class="reference internal" href="#promod3.modelling.ScoringGapExtender.Extend" title="promod3.modelling.ScoringGapExtender.Extend"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Extend()</span></code></a>.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>gap</strong> (<a class="reference internal" href="#promod3.modelling.StructuralGap" title="promod3.modelling.StructuralGap"><code class="xref py py-class docutils literal notranslate"><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 notranslate"><span class="pre">Extend()</span></code></a>.</p></li>
+<li><p><strong>extension_penalty</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Penalty for length of gap.</p></li>
+<li><p><strong>penalties</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Penalty for each residue added to gap.</p></li>
+<li><p><strong>seqres</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> / <a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceHandle</span></code></a>) – The full sequence of the chain, the gap is associated with.</p></li>
+<li><p><strong>max_length</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – <ul>
+<li><p>If -2, <a class="reference internal" href="#promod3.modelling.GapExtender" title="promod3.modelling.GapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">GapExtender</span></code></a> is used instead of <a class="reference internal" href="#promod3.modelling.FullGapExtender" title="promod3.modelling.FullGapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">FullGapExtender</span></code></a>
+(i.e. it stops at gaps and termini).</p></li>
+<li><p>If -1, all possible non-terminal gaps are returned.</p></li>
+<li><p>If &gt;= 0, this restricts the max. gap-length (w/o termini)
+producable by <a class="reference internal" href="#promod3.modelling.ScoringGapExtender.Extend" title="promod3.modelling.ScoringGapExtender.Extend"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Extend()</span></code></a>.</p></li>
 </ul>
-</li>
+</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last">An exception if a terminal gap is used to construct this.</p>
-</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>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p>An exception if a terminal gap is used to construct this.</p>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ScoringGapExtender.Extend">
+<span class="sig-name descname"><span class="pre">Extend</span></span><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 <em>gap</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">Returns:</th><td class="field-body">False, if the gap cannot be extended any further.
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>False, if the gap cannot be extended any further.
 Otherwise, <em>gap</em> is changed and returned in ascending score.
-The updated <em>gap</em> will always have valid termini.</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-</tbody>
-</table>
+The updated <em>gap</em> will always have valid termini.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.modelling.ShiftExtension">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">ShiftExtension</code><span class="sig-paren">(</span><em>n_num</em>, <em>c_num</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ShiftExtension" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.ShiftExtension">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">ShiftExtension</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_num</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_num</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ShiftExtension" title="Permalink to this definition">¶</a></dt>
 <dd><p>Implements the underlying extension scheme of the <a class="reference internal" href="#promod3.modelling.GapExtender" title="promod3.modelling.GapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">GapExtender</span></code></a>.
 It is not associated to any structural data, it just spits out the
 residue numbers according to the extension scheme described above.</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_num</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – N residue number to start with</li>
-<li><strong>c_num</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – C residue number to start with</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>n_num</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – N residue number to start with</p></li>
+<li><p><strong>c_num</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – C residue number to start with</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.modelling.ShiftExtension.Extend">
-<code class="descname">Extend</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ShiftExtension.Extend" 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 next residue numbers for n_stem and c_stem</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/3.7/library/stdtypes.html#tuple" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a></td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ShiftExtension.Extend">
+<span class="sig-name descname"><span class="pre">Extend</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ShiftExtension.Extend" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The next residue numbers for n_stem and c_stem</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#tuple" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="gap-handling-functions">
-<h2>Gap Handling Functions<a class="headerlink" href="#gap-handling-functions" title="Permalink to this headline">¶</a></h2>
-<dl class="function">
-<dt id="promod3.modelling.CountEnclosedGaps">
-<code class="descclassname">promod3.modelling.</code><code class="descname">CountEnclosedGaps</code><span class="sig-paren">(</span><em>mhandle</em>, <em>gap</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CountEnclosedGaps" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.modelling.CountEnclosedInsertions">
-<code class="descclassname">promod3.modelling.</code><code class="descname">CountEnclosedInsertions</code><span class="sig-paren">(</span><em>mhandle</em>, <em>gap</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CountEnclosedInsertions" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="gap-handling-functions">
+<h2>Gap Handling Functions<a class="headerlink" href="#gap-handling-functions" title="Permalink to this heading">¶</a></h2>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.CountEnclosedGaps">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">CountEnclosedGaps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gap</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CountEnclosedGaps" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.modelling.CountEnclosedInsertions">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">CountEnclosedInsertions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gap</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CountEnclosedInsertions" title="Permalink to this definition">¶</a></dt>
 <dd><p>Counts all gaps from <cite>mhandle</cite> which are fully enclosed by given <cite>gap</cite>.
 This is either all gaps or only insertions.</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="pipeline.html#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><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 notranslate"><span class="pre">StructuralGap</span></code></a>) – Gap defining range in which gaps are to be removed.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>mhandle</strong> (<a class="reference internal" href="pipeline.html#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</p></li>
+<li><p><strong>gap</strong> (<a class="reference internal" href="#promod3.modelling.StructuralGap" title="promod3.modelling.StructuralGap"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructuralGap</span></code></a>) – Gap defining range in which gaps are to be removed.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Number of gaps.</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="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Number of gaps.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
 </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>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.ClearGaps">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">ClearGaps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gap</span></span></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 <cite>mhandle</cite> which are fully enclosed by given <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">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>mhandle</strong> (<a class="reference internal" href="pipeline.html#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><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 notranslate"><span class="pre">StructuralGap</span></code></a>) – Gap defining range in which gaps are to be removed.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>mhandle</strong> (<a class="reference internal" href="pipeline.html#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</p></li>
+<li><p><strong>gap</strong> (<a class="reference internal" href="#promod3.modelling.StructuralGap" title="promod3.modelling.StructuralGap"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructuralGap</span></code></a>) – Gap defining range in which gaps are to be removed.</p></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.
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Index of next gap in mhandle.gaps after removal.
 Returns -1 if last gap was removed or no gaps in <em>mhandle</em>.</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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 <a class="reference external" href="https://docs.python.org/3.7/library/exceptions.html#RuntimeError" title="(in Python v3.7)"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> if any gap in mhandle.gaps is only partially
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p>A <a class="reference external" href="https://docs.python.org/3.11/library/exceptions.html#RuntimeError" title="(in Python v3.11)"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> if any gap in mhandle.gaps is only partially
 enclosed by given gap.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.InsertLoopClearGaps">
-<code class="descclassname">promod3.modelling.</code><code class="descname">InsertLoopClearGaps</code><span class="sig-paren">(</span><em>mhandle</em>, <em>bb_list</em>, <em>gap</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.InsertLoopClearGaps" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.InsertLoopClearGaps">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">InsertLoopClearGaps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bb_list</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gap</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.InsertLoopClearGaps" title="Permalink to this definition">¶</a></dt>
 <dd><p>Insert loop into model, update scoring environments and remove all gaps from
 <em>mhandle</em> which are fully enclosed by given <em>gap</em> (see <a class="reference internal" href="pipeline.html#promod3.modelling.InsertLoop" title="promod3.modelling.InsertLoop"><code class="xref py py-meth docutils literal notranslate"><span class="pre">InsertLoop()</span></code></a> and
 <a class="reference internal" href="#promod3.modelling.ClearGaps" title="promod3.modelling.ClearGaps"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ClearGaps()</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 simple">
-<li><strong>mhandle</strong> (<a class="reference internal" href="pipeline.html#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</li>
-<li><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Loop to insert (backbone only).</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 notranslate"><span class="pre">StructuralGap</span></code></a>) – Gap defining range of loop to insert (must be consistent!).</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>mhandle</strong> (<a class="reference internal" href="pipeline.html#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</p></li>
+<li><p><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Loop to insert (backbone only).</p></li>
+<li><p><strong>gap</strong> (<a class="reference internal" href="#promod3.modelling.StructuralGap" title="promod3.modelling.StructuralGap"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructuralGap</span></code></a>) – Gap defining range of loop to insert (must be consistent!).</p></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.
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Index of next gap in mhandle.gaps after removal.
 Returns -1 if last gap was removed or no gaps in <em>mhandle</em>.</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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 <a class="reference external" href="https://docs.python.org/3.7/library/exceptions.html#RuntimeError" title="(in Python v3.7)"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> if <em>bb_list</em> and <em>gap</em> are inconsistent or
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p>A <a class="reference external" href="https://docs.python.org/3.11/library/exceptions.html#RuntimeError" title="(in Python v3.11)"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> if <em>bb_list</em> and <em>gap</em> are inconsistent or
 if any gap in mhandle.gaps is only partially enclosed by <em>gap</em>.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </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>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.MergeGaps">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">MergeGaps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">index</span></span></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 <cite>mhandle.gaps[index]</cite> and <cite>mhandle.gaps[index+1]</cite>.
 The residues in between the gaps are removed from <cite>mhandle.model</cite> and added
 to the new <cite>mhandle.gaps[index]</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>mhandle</strong> (<a class="reference internal" href="pipeline.html#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of gap to merge with next one.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>mhandle</strong> (<a class="reference internal" href="pipeline.html#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</p></li>
+<li><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of gap to merge with next one.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last">A <a class="reference external" href="https://docs.python.org/3.7/library/exceptions.html#RuntimeError" title="(in Python v3.7)"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> if indices out of range or if trying to merge
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p>A <a class="reference external" href="https://docs.python.org/3.11/library/exceptions.html#RuntimeError" title="(in Python v3.11)"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> if indices out of range or if trying to merge
 gaps of different chains or an N-terminal gap with a C-terminal gap.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -615,12 +553,12 @@ gaps of different chains or an N-terminal gap with a C-terminal gap.</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -637,7 +575,7 @@ gaps of different chains or an N-terminal gap with a C-terminal gap.</p>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a><ul>
       <li>Previous: <a href="model_checking.html" title="previous chapter">Model Checking</a></li>
       <li>Next: <a href="loop_candidates.html" title="next chapter">Handling Loop Candidates</a></li>
   </ul></li>
@@ -646,27 +584,33 @@ gaps of different chains or an N-terminal gap with a C-terminal gap.</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/modelling/gap_handling.rst.txt"
diff --git a/doc/html/modelling/index.html b/doc/html/modelling/index.html
index 1dbcbd28e1679c4b77051ca4449bbc423b6ce96d..5d4d5aa1266d480ed07be1d45aa0f09ea27beeb8 100644
--- a/doc/html/modelling/index.html
+++ b/doc/html/modelling/index.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>modelling - Protein Modelling &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>modelling - Protein Modelling &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Modelling Pipeline" href="pipeline.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,10 +31,12 @@
     <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 notranslate"><span class="pre">modelling</span></code></a> - Protein Modelling<a class="headerlink" href="#module-promod3.modelling" title="Permalink to this headline">¶</a></h1>
+  <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 notranslate"><span class="pre">modelling</span></code></a> - Protein Modelling<a class="headerlink" href="#module-promod3.modelling" title="Permalink to this heading">¶</a></h1>
 <p>High-level functionality for protein modelling. The goal is to model a given
 target sequence (or list of sequences for oligomers) given some template data.
 Commonly, the template does not cover the full target. This module offers
@@ -41,8 +44,8 @@ capabilities to extract useful template data for the target and to fill the
 remaining structural data to create a full model of the target. In its simplest
 form, you can use a target-template alignment and a template structure to create
 a model fully automatically as follows:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">modelling</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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="c1"># 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="s1">&#39;data/1crn_cut.pdb&#39;</span><span class="p">)</span>
@@ -91,6 +94,7 @@ a model fully automatically as follows:</p>
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="monte_carlo.html">Generating Loops De Novo</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="monte_carlo.html#promod3.modelling.SampleMonteCarlo"><code class="docutils literal notranslate"><span class="pre">SampleMonteCarlo()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="monte_carlo.html#sampler-object">Sampler Object</a></li>
 <li class="toctree-l2"><a class="reference internal" href="monte_carlo.html#closer-object">Closer Object</a></li>
 <li class="toctree-l2"><a class="reference internal" href="monte_carlo.html#scorer-object">Scorer Object</a></li>
@@ -112,10 +116,11 @@ a model fully automatically as follows:</p>
 </li>
 </ul>
 </div>
-</div>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -136,12 +141,12 @@ a model fully automatically as follows:</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -165,27 +170,33 @@ a model fully automatically as follows:</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/modelling/index.rst.txt"
diff --git a/doc/html/modelling/loop_candidates.html b/doc/html/modelling/loop_candidates.html
index b0a14aff4c63471baf5b4a6c1341050652abb1f9..5c620963dc7a243a00c2ed6d9d20213e03036b6f 100644
--- a/doc/html/modelling/loop_candidates.html
+++ b/doc/html/modelling/loop_candidates.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Handling Loop Candidates &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Handling Loop Candidates &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Fitting Loops Into Gaps" href="loop_closing.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,18 +31,20 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="handling-loop-candidates">
-<h1>Handling Loop Candidates<a class="headerlink" href="#handling-loop-candidates" title="Permalink to this headline">¶</a></h1>
+  <section id="handling-loop-candidates">
+<h1>Handling Loop Candidates<a class="headerlink" href="#handling-loop-candidates" title="Permalink to this heading">¶</a></h1>
 <p>For convenience, we provide the <a class="reference internal" href="#promod3.modelling.LoopCandidates" title="promod3.modelling.LoopCandidates"><code class="xref py py-class docutils literal notranslate"><span class="pre">LoopCandidates</span></code></a> class as a container of
 loop candidates with 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="../loop/structure_db.html#promod3.loop.FragDB" title="promod3.loop.FragDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragDB</span></code></a> or Monte Carlo algorithms.
 Once it contains candidates you can apply closing, scoring or clustering
 algorithms on all loop candidates. Example:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">loop</span><span class="p">,</span> <span class="n">scoring</span><span class="p">,</span> <span class="n">modelling</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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">loop</span><span class="p">,</span> <span class="n">scoring</span><span class="p">,</span> <span class="n">modelling</span>
 
 <span class="c1"># let&#39;s load a crambin structure from the pdb</span>
 <span class="n">crambin</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="s1">&#39;data/1CRN.pdb&#39;</span><span class="p">)</span>
@@ -95,134 +98,121 @@ algorithms on all loop candidates. Example:</p>
 <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="s2">&quot;modified_crambin.pdb&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="section" id="the-loopcandidates-class">
-<h2>The LoopCandidates class<a class="headerlink" href="#the-loopcandidates-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.modelling.LoopCandidates">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">LoopCandidates</code><span class="sig-paren">(</span><em>seq</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates" title="Permalink to this definition">¶</a></dt>
+<section id="the-loopcandidates-class">
+<h2>The LoopCandidates class<a class="headerlink" href="#the-loopcandidates-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.LoopCandidates">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">LoopCandidates</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">seq</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates" title="Permalink to this definition">¶</a></dt>
 <dd><p>Initializes an empty container of loop candidates.</p>
-<p>Candidates can be accessed and iterated as if it was a <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of
+<p>Candidates can be accessed and iterated as if it was a <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of
 <a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</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>seq</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – The sequence being enforced for all candidates</td>
-</tr>
-</tbody>
-</table>
-<dl class="staticmethod">
-<dt id="promod3.modelling.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.modelling.LoopCandidates.FillFromDatabase" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>seq</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – The sequence being enforced for all candidates</p>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.LoopCandidates.FillFromDatabase">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">FillFromDatabase</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seq</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">frag_db</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">structural_db</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">extended_search</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.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>
 <p>This call also adds fragment infos (<a class="reference internal" href="#promod3.modelling.LoopCandidates.HasFragmentInfos" title="promod3.modelling.LoopCandidates.HasFragmentInfos"><code class="xref py py-meth docutils literal notranslate"><span class="pre">HasFragmentInfos()</span></code></a> will be True).</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="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><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="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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="../loop/structure_db.html#promod3.loop.FragDB" title="promod3.loop.FragDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragDB</span></code></a>) – The fragment database</li>
-<li><strong>structural_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 notranslate"><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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether search should be extended to fragments
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>n_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The residue at the N-terminal end of the loop</p></li>
+<li><p><strong>c_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The residue at the C-terminal end of the loop</p></li>
+<li><p><strong>seq</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><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></p></li>
+<li><p><strong>frag_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 notranslate"><span class="pre">FragDB</span></code></a>) – The fragment database</p></li>
+<li><p><strong>structural_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 notranslate"><span class="pre">StructureDB</span></code></a>) – The according structural database</p></li>
+<li><p><strong>extended_search</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><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>
+a bit less precisely.</p></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"><a class="reference internal" href="#promod3.modelling.LoopCandidates" title="promod3.modelling.LoopCandidates"><code class="xref py py-class docutils literal notranslate"><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 last"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if stems do no contain N, CA and C
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A list of loop candidates</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.modelling.LoopCandidates" title="promod3.modelling.LoopCandidates"><code class="xref py py-class docutils literal notranslate"><span class="pre">LoopCandidates</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if stems do no contain N, CA and C
 atoms.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.modelling.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>, <em>random_seed=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.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>, <em>random_seed=0</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.LoopCandidates.FillFromMonteCarloSampler">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">FillFromMonteCarloSampler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">seq</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_loops</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">steps</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sampler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">closer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scorer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cooler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.FillFromMonteCarloSampler" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">FillFromMonteCarloSampler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">initial_bb</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seq</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_loops</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">steps</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sampler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">closer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scorer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cooler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></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>
 <div class="admonition warning">
-<p class="first admonition-title">Warning</p>
-<p class="last">The <a class="reference internal" href="../scoring/backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a>
+<p class="admonition-title">Warning</p>
+<p>The <a class="reference internal" href="../scoring/backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a>
 attached to <em>scorer</em> will be altered in the specified stretch.
 You might consider the Stash / Pop mechanism of the
 <a class="reference internal" href="../scoring/backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> to restore to the
 original state once the sampling is done.</p>
 </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>initial_bb</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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 class="std std-ref">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 class="std std-ref">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 class="std std-ref">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 class="std std-ref">Cooler Object</span></a>) – Controls the temperature profile of the simulated annealing</li>
-<li><strong>random_seed</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed to feed the random number generator for
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>initial_bb</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Initial configuration used for the sampling</p></li>
+<li><p><strong>seq</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – The sequence of residues to be sampled</p></li>
+<li><p><strong>num_loops</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of loop candidates to return</p></li>
+<li><p><strong>steps</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of MC steps to perform for each loop candidate
+generated</p></li>
+<li><p><strong>sampler</strong> (<a class="reference internal" href="monte_carlo.html#mc-sampler-object"><span class="std std-ref">Sampler Object</span></a>) – Used to generate a new configuration at each MC step</p></li>
+<li><p><strong>closer</strong> (<a class="reference internal" href="monte_carlo.html#mc-closer-object"><span class="std std-ref">Closer Object</span></a>) – Used to close the loop after each MC step</p></li>
+<li><p><strong>scorer</strong> (<a class="reference internal" href="monte_carlo.html#mc-scorer-object"><span class="std std-ref">Scorer Object</span></a>) – Used to score the generated configurations at each MC step</p></li>
+<li><p><strong>cooler</strong> (<a class="reference internal" href="monte_carlo.html#mc-cooler-object"><span class="std std-ref">Cooler Object</span></a>) – Controls the temperature profile of the simulated annealing</p></li>
+<li><p><strong>random_seed</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed to feed the random number generator for
 accepting/rejecting proposed monte carlo steps.
 For every monte carlo run, the random number generator
-gets refreshed and this seed gets increased by 1.</li>
+gets refreshed and this seed gets increased by 1.</p></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.modelling.LoopCandidates" title="promod3.modelling.LoopCandidates"><code class="xref py py-class docutils literal notranslate"><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 last"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code>, if <em>initial_bb</em> is not given and
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The resulting candidates</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.modelling.LoopCandidates" title="promod3.modelling.LoopCandidates"><code class="xref py py-class docutils literal notranslate"><span class="pre">LoopCandidates</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><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) or if <em>initial_bb</em> is given and it is inconsistent with
 <em>seq</em>.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.LoopCandidates.GetSequence">
-<code class="descname">GetSequence</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.GetSequence" 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 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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.LoopCandidates.GetSequence">
+<span class="sig-name descname"><span class="pre">GetSequence</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.GetSequence" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The Sequence</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.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.modelling.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>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.LoopCandidates.ApplyCCD">
+<span class="sig-name descname"><span class="pre">ApplyCCD</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_iterations</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rmsd_cutoff</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">keep_non_converged</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">false</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.ApplyCCD" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">ApplyCCD</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">torsion_sampler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_iterations</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rmsd_cutoff</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">keep_non_converged</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">false</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">ApplyCCD</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">torsion_samplers</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_iterations</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rmsd_cutoff</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">keep_non_converged</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">false</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">random_seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span></dt>
 <dd><p>Closes all loop candidates in this container using the CCD algorithm (i.e.
 modifies the candidates 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.modelling.CCD" title="promod3.modelling.CCD"><code class="xref py py-class docutils literal notranslate"><span class="pre">CCD</span></code></a>) is an
@@ -230,43 +220,39 @@ iterative minimization algorithm.</p>
 <p>If <em>torsion_sampler</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 simple">
-<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue defining the n-stem positions every candidate
-should match. See <a class="reference internal" href="loop_closing.html#promod3.modelling.CCD.CCD" title="promod3.modelling.CCD.CCD"><code class="xref py py-meth docutils literal notranslate"><span class="pre">CCD()</span></code></a>.</li>
-<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue defining the c-stem positions every candidate
-should match. See <a class="reference internal" href="loop_closing.html#promod3.modelling.CCD.CCD" title="promod3.modelling.CCD.CCD"><code class="xref py py-meth docutils literal notranslate"><span class="pre">CCD()</span></code></a>.</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 notranslate"><span class="pre">TorsionSampler</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>n_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue defining the n-stem positions every candidate
+should match. See <a class="reference internal" href="loop_closing.html#id0" title="promod3.modelling.CCD.CCD"><code class="xref py py-meth docutils literal notranslate"><span class="pre">CCD()</span></code></a>.</p></li>
+<li><p><strong>c_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue defining the c-stem positions every candidate
+should match. See <a class="reference internal" href="loop_closing.html#id0" title="promod3.modelling.CCD.CCD"><code class="xref py py-meth docutils literal notranslate"><span class="pre">CCD()</span></code></a>.</p></li>
+<li><p><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 notranslate"><span class="pre">TorsionSampler</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>
 of <a class="reference internal" href="../loop/torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a>) – A torsion sampler (used for all residues) or a list
-of samplers (one per residue).</li>
-<li><strong>max_iterations</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Maximum number of iterations</li>
-<li><strong>rmsd_cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to keep loop candidates for which the
-closing did not converge</li>
-<li><strong>random_seed</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – seed for random number generator used to
-accept/reject moves in CCD algorithm</li>
+of samplers (one per residue).</p></li>
+<li><p><strong>max_iterations</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Maximum number of iterations</p></li>
+<li><p><strong>rmsd_cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Cutoff in stem residue RMSD used to determine
+convergence</p></li>
+<li><p><strong>keep_non_converged</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to keep loop candidates for which the
+closing did not converge</p></li>
+<li><p><strong>random_seed</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – seed for random number generator used to
+accept/reject moves in CCD algorithm</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">An index for each kept candidate corresponding to the candidate
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>An index for each kept candidate corresponding to the candidate
 index before this function was called. This is useful to keep track
 of scores and other data extracted before.</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="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.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.modelling.LoopCandidates.ApplyKIC" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.LoopCandidates.ApplyKIC">
+<span class="sig-name descname"><span class="pre">ApplyKIC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pivot_one</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pivot_two</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pivot_three</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.ApplyKIC" title="Permalink to this definition">¶</a></dt>
 <dd><p>Closes all loop candidates in this container (i.e. modifies the candidates
 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
@@ -274,88 +260,80 @@ 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 simple">
-<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><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="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Third pivot residue</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>n_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue defining the n-stem positions every candidate
+should match</p></li>
+<li><p><strong>c_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue defining the c-stem positions every candidate
+should match</p></li>
+<li><p><strong>pivot_one</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – First pivot residue</p></li>
+<li><p><strong>pivot_two</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Second pivot residue</p></li>
+<li><p><strong>pivot_three</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Third pivot residue</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">An index for each added candidate corresponding to the original
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>An index for each added candidate corresponding to the original
 candidate index before this function was called (each candidate can
 lead to multiple or no candidates after KIC is applied). This is
 useful to keep track of scores and other data extracted before.</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="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.LoopCandidates.CalculateBackboneScores">
-<code class="descname">CalculateBackboneScores</code><span class="sig-paren">(</span><em>score_container</em>, <em>scorer</em>, <em>scorer_env</em>, <em>start_resnum</em>, <em>chain_idx=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.CalculateBackboneScores" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">CalculateBackboneScores</code><span class="sig-paren">(</span><em>score_container</em>, <em>scorer</em>, <em>scorer_env</em>, <em>keys</em>, <em>start_resnum</em>, <em>chain_idx=0</em><span class="sig-paren">)</span></dt>
-<dt>
-<code class="descname">CalculateBackboneScores</code><span class="sig-paren">(</span><em>score_container</em>, <em>mhandle</em>, <em>start_resnum</em>, <em>chain_idx=0</em><span class="sig-paren">)</span></dt>
-<dt>
-<code class="descname">CalculateBackboneScores</code><span class="sig-paren">(</span><em>score_container</em>, <em>mhandle</em>, <em>keys</em>, <em>start_resnum</em>, <em>chain_idx=0</em><span class="sig-paren">)</span></dt>
-<dt id="promod3.modelling.LoopCandidates.CalculateAllAtomScores">
-<code class="descname">CalculateAllAtomScores</code><span class="sig-paren">(</span><em>score_container</em>, <em>mhandle</em>, <em>start_resnum</em>, <em>chain_idx=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.CalculateAllAtomScores" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">CalculateAllAtomScores</code><span class="sig-paren">(</span><em>score_container</em>, <em>mhandle</em>, <em>keys</em>, <em>start_resnum</em>, <em>chain_idx=0</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.LoopCandidates.CalculateBackboneScores">
+<span class="sig-name descname"><span class="pre">CalculateBackboneScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">score_container</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scorer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scorer_env</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.CalculateBackboneScores" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">CalculateBackboneScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">score_container</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scorer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scorer_env</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">keys</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">CalculateBackboneScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">score_container</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">CalculateBackboneScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">score_container</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">keys</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span></dt>
+<dt class="sig sig-object py" id="promod3.modelling.LoopCandidates.CalculateAllAtomScores">
+<span class="sig-name descname"><span class="pre">CalculateAllAtomScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">score_container</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.CalculateAllAtomScores" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">CalculateAllAtomScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">score_container</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">keys</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span></dt>
 <dd><p>Calculate backbone / all-atom scores for each loop candidate.
 Note that (unless otherwise noted) a lower “score” is better!</p>
 <p>The computed scores are in the same same order as the candidates in here.</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>score_container</strong> (<a class="reference internal" href="#promod3.modelling.ScoreContainer" title="promod3.modelling.ScoreContainer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoreContainer</span></code></a>) – Add scores to this score container using the given
-key names (or the ones from <a class="reference internal" href="#promod3.modelling.ScoringWeights" title="promod3.modelling.ScoringWeights"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoringWeights</span></code></a>)</li>
-<li><strong>scorer</strong> (<a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.BackboneOverallScorer" title="promod3.scoring.BackboneOverallScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneOverallScorer</span></code></a>) – Backbone scoring object with set environment for the
-particular loop modelling problem.</li>
-<li><strong>scorer_env</strong> (<a class="reference internal" href="../scoring/backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a>) – The scoring environment attached to <em>scorer</em></li>
-<li><strong>mhandle</strong> (<a class="reference internal" href="pipeline.html#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle set up scoring (see
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>score_container</strong> (<a class="reference internal" href="#promod3.modelling.ScoreContainer" title="promod3.modelling.ScoreContainer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoreContainer</span></code></a>) – Add scores to this score container using the given
+key names (or the ones from <a class="reference internal" href="#promod3.modelling.ScoringWeights" title="promod3.modelling.ScoringWeights"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoringWeights</span></code></a>)</p></li>
+<li><p><strong>scorer</strong> (<a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.BackboneOverallScorer" title="promod3.scoring.BackboneOverallScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneOverallScorer</span></code></a>) – Backbone scoring object with set environment for the
+particular loop modelling problem.</p></li>
+<li><p><strong>scorer_env</strong> (<a class="reference internal" href="../scoring/backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a>) – The scoring environment attached to <em>scorer</em></p></li>
+<li><p><strong>mhandle</strong> (<a class="reference internal" href="pipeline.html#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle set up scoring (see
 <a class="reference internal" href="pipeline.html#promod3.modelling.SetupDefaultBackboneScoring" title="promod3.modelling.SetupDefaultBackboneScoring"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetupDefaultBackboneScoring()</span></code></a>
-<a class="reference internal" href="pipeline.html#promod3.modelling.SetupDefaultAllAtomScoring" title="promod3.modelling.SetupDefaultAllAtomScoring"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetupDefaultAllAtomScoring()</span></code></a>).</li>
-<li><strong>keys</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Keys of the desired scorers. If not given, we use the set of
+<a class="reference internal" href="pipeline.html#promod3.modelling.SetupDefaultAllAtomScoring" title="promod3.modelling.SetupDefaultAllAtomScoring"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetupDefaultAllAtomScoring()</span></code></a>).</p></li>
+<li><p><strong>keys</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Keys of the desired scorers. If not given, we use the set of
 keys given by <a class="reference internal" href="#promod3.modelling.ScoringWeights.GetBackboneScoringKeys" title="promod3.modelling.ScoringWeights.GetBackboneScoringKeys"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ScoringWeights.GetBackboneScoringKeys()</span></code></a> /
-<a class="reference internal" href="#promod3.modelling.ScoringWeights.GetAllAtomScoringKeys" title="promod3.modelling.ScoringWeights.GetAllAtomScoringKeys"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ScoringWeights.GetAllAtomScoringKeys()</span></code></a>.</li>
-<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number defining the position in the SEQRES.</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the loops belong to.</li>
+<a class="reference internal" href="#promod3.modelling.ScoringWeights.GetAllAtomScoringKeys" title="promod3.modelling.ScoringWeights.GetAllAtomScoringKeys"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ScoringWeights.GetAllAtomScoringKeys()</span></code></a>.</p></li>
+<li><p><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number defining the position in the SEQRES.</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the loops belong to.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <a class="reference internal" href="pipeline.html#promod3.modelling.IsAllAtomScoringSetUp" title="promod3.modelling.IsAllAtomScoringSetUp"><code class="xref py py-func docutils literal notranslate"><span class="pre">IsAllAtomScoringSetUp()</span></code></a>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <a class="reference internal" href="pipeline.html#promod3.modelling.IsAllAtomScoringSetUp" title="promod3.modelling.IsAllAtomScoringSetUp"><code class="xref py py-func docutils literal notranslate"><span class="pre">IsAllAtomScoringSetUp()</span></code></a>
 is False, if <em>keys</em> has a key for which no scorer exists or if
 anything is raised when calculating the scores.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.LoopCandidates.CalculateSequenceProfileScores">
-<code class="descname">CalculateSequenceProfileScores</code><span class="sig-paren">(</span><em>score_container</em>, <em>structure_db</em>, <em>prof</em>, <em>offset=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.CalculateSequenceProfileScores" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.modelling.LoopCandidates.CalculateStructureProfileScores">
-<code class="descname">CalculateStructureProfileScores</code><span class="sig-paren">(</span><em>score_container</em>, <em>structure_db</em>, <em>prof</em>, <em>offset=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.CalculateStructureProfileScores" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.LoopCandidates.CalculateSequenceProfileScores">
+<span class="sig-name descname"><span class="pre">CalculateSequenceProfileScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">score_container</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">structure_db</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prof</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">offset</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.CalculateSequenceProfileScores" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.modelling.LoopCandidates.CalculateStructureProfileScores">
+<span class="sig-name descname"><span class="pre">CalculateStructureProfileScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">score_container</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">structure_db</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prof</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">offset</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.CalculateStructureProfileScores" title="Permalink to this definition">¶</a></dt>
 <dd><p>Calculates a score comparing the given profile <em>prof</em> starting at <em>offset</em>
 with the sequence / structure profile of each candidate as extracted from
-<em>structure_db</em> (see <a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.ProfileHandle.GetAverageScore" title="(in OpenStructure v2.4.0)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle.GetAverageScore()</span></code></a> for
+<em>structure_db</em> (see <a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.ProfileHandle.GetAverageScore" title="(in OpenStructure v2.9.2)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle.GetAverageScore()</span></code></a> for
 details, <em>prof.null_model</em> is used for weighting).</p>
 <p>Note that for profile scores a higher “score” is better! So take care when
 combining this to other scores, where it is commonly the other way around.</p>
@@ -363,32 +341,28 @@ combining this to other scores, where it is commonly the other way around.</p>
 given <em>structure_db</em> (e.g. <a class="reference internal" href="#promod3.modelling.LoopCandidates.FillFromDatabase" title="promod3.modelling.LoopCandidates.FillFromDatabase"><code class="xref py py-meth docutils literal notranslate"><span class="pre">FillFromDatabase()</span></code></a> must have been called
 with this DB).</p>
 <p>The computed scores are in the same same order as the candidates in here.</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>score_container</strong> (<a class="reference internal" href="#promod3.modelling.ScoreContainer" title="promod3.modelling.ScoreContainer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoreContainer</span></code></a>) – Add scores to this score container using the default
-key name defined in <a class="reference internal" href="#promod3.modelling.ScoringWeights" title="promod3.modelling.ScoringWeights"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoringWeights</span></code></a></li>
-<li><strong>structural_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 notranslate"><span class="pre">StructureDB</span></code></a>) – Structural database used in <a class="reference internal" href="#promod3.modelling.LoopCandidates.FillFromDatabase" title="promod3.modelling.LoopCandidates.FillFromDatabase"><code class="xref py py-meth docutils literal notranslate"><span class="pre">FillFromDatabase()</span></code></a></li>
-<li><strong>prof</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a>) – Profile information for target.</li>
-<li><strong>offset</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Loop starts at index <em>offset</em> in <em>prof</em>.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>score_container</strong> (<a class="reference internal" href="#promod3.modelling.ScoreContainer" title="promod3.modelling.ScoreContainer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoreContainer</span></code></a>) – Add scores to this score container using the default
+key name defined in <a class="reference internal" href="#promod3.modelling.ScoringWeights" title="promod3.modelling.ScoringWeights"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoringWeights</span></code></a></p></li>
+<li><p><strong>structural_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 notranslate"><span class="pre">StructureDB</span></code></a>) – Structural database used in <a class="reference internal" href="#promod3.modelling.LoopCandidates.FillFromDatabase" title="promod3.modelling.LoopCandidates.FillFromDatabase"><code class="xref py py-meth docutils literal notranslate"><span class="pre">FillFromDatabase()</span></code></a></p></li>
+<li><p><strong>prof</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a>) – Profile information for target.</p></li>
+<li><p><strong>offset</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Loop starts at index <em>offset</em> in <em>prof</em>.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <a class="reference internal" href="#promod3.modelling.LoopCandidates.HasFragmentInfos" title="promod3.modelling.LoopCandidates.HasFragmentInfos"><code class="xref py py-meth docutils literal notranslate"><span class="pre">HasFragmentInfos()</span></code></a> is
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <a class="reference internal" href="#promod3.modelling.LoopCandidates.HasFragmentInfos" title="promod3.modelling.LoopCandidates.HasFragmentInfos"><code class="xref py py-meth docutils literal notranslate"><span class="pre">HasFragmentInfos()</span></code></a> is
 False, if <em>structure_db</em> is incompatible with the stored fragment
 infos or if <em>prof</em> has less than <em>offset+len</em> elements (len =
 length of loops stored in here).</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.LoopCandidates.CalculateStemRMSDs">
-<code class="descname">CalculateStemRMSDs</code><span class="sig-paren">(</span><em>score_container</em>, <em>n_stem</em>, <em>c_stem</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.CalculateStemRMSDs" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.LoopCandidates.CalculateStemRMSDs">
+<span class="sig-name descname"><span class="pre">CalculateStemRMSDs</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">score_container</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_stem</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.CalculateStemRMSDs" title="Permalink to this definition">¶</a></dt>
 <dd><p>Calculates RMSD between the given stems and the first and last residue of
 the loop candidates. This first superposes the first loop residue with
 <em>n_stem</em> and then computes the RMSD between the last residue’s N, CA, C
@@ -396,415 +370,374 @@ positions and the corresponding atoms in <em>c_stem</em>.</p>
 <p>Note that this score is only useful before calling <a class="reference internal" href="#promod3.modelling.LoopCandidates.ApplyCCD" title="promod3.modelling.LoopCandidates.ApplyCCD"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ApplyCCD()</span></code></a> or
 <a class="reference internal" href="#promod3.modelling.LoopCandidates.ApplyKIC" title="promod3.modelling.LoopCandidates.ApplyKIC"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ApplyKIC()</span></code></a>.</p>
 <p>The computed scores are in the same same order as the candidates in here.</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>score_container</strong> (<a class="reference internal" href="#promod3.modelling.ScoreContainer" title="promod3.modelling.ScoreContainer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoreContainer</span></code></a>) – Add scores to this score container using the default
-key name defined in <a class="reference internal" href="#promod3.modelling.ScoringWeights" title="promod3.modelling.ScoringWeights"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoringWeights</span></code></a></li>
-<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><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="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The residue at the C-terminal end of the loop.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>score_container</strong> (<a class="reference internal" href="#promod3.modelling.ScoreContainer" title="promod3.modelling.ScoreContainer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoreContainer</span></code></a>) – Add scores to this score container using the default
+key name defined in <a class="reference internal" href="#promod3.modelling.ScoringWeights" title="promod3.modelling.ScoringWeights"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoringWeights</span></code></a></p></li>
+<li><p><strong>n_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The residue at the N-terminal end of the loop.</p></li>
+<li><p><strong>c_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – The residue at the C-terminal end of the loop.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if stems do no contain N, CA and C
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if stems do no contain N, CA and C
 atoms.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">CalculateSequenceProfileScores</code><span class="sig-paren">(</span><em>structure_db</em>, <em>prof</em>, <em>offset=0</em><span class="sig-paren">)</span></dt>
-<dt>
-<code class="descname">CalculateStructureProfileScores</code><span class="sig-paren">(</span><em>structure_db</em>, <em>prof</em>, <em>offset=0</em><span class="sig-paren">)</span></dt>
-<dt>
-<code class="descname">CalculateStemRMSDs</code><span class="sig-paren">(</span><em>n_stem</em>, <em>c_stem</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id0">
+<span class="sig-name descname"><span class="pre">CalculateSequenceProfileScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">structure_db</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prof</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">offset</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id0" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="id1">
+<span class="sig-name descname"><span class="pre">CalculateStructureProfileScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">structure_db</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prof</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">offset</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id1" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="id2">
+<span class="sig-name descname"><span class="pre">CalculateStemRMSDs</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_stem</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id2" title="Permalink to this definition">¶</a></dt>
 <dd><p>Same as the <em>score_container</em> variant above, but here we directly return the
 score vector instead of storing it in a 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">Score for each candidate (same order as candidates in here).</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Score for each candidate (same order as candidates in here).</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.LoopCandidates.Add">
-<code class="descname">Add</code><span class="sig-paren">(</span><em>bb_list</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.Add" 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>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The loop candidate to be added.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if sequence of <em>bb_list</em> is not
-consistent with internal sequence</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.LoopCandidates.Add">
+<span class="sig-name descname"><span class="pre">Add</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bb_list</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.Add" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The loop candidate to be added.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if sequence of <em>bb_list</em> is not
+consistent with internal sequence</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.LoopCandidates.AddFragmentInfo">
-<code class="descname">AddFragmentInfo</code><span class="sig-paren">(</span><em>fragment</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.AddFragmentInfo" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.LoopCandidates.AddFragmentInfo">
+<span class="sig-name descname"><span class="pre">AddFragmentInfo</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fragment</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.AddFragmentInfo" title="Permalink to this definition">¶</a></dt>
 <dd><p>Adds a fragment info for the last candidate added with <a class="reference internal" href="#promod3.modelling.LoopCandidates.Add" title="promod3.modelling.LoopCandidates.Add"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Add()</span></code></a>. Note
 that these infos are added automatically with <a class="reference internal" href="#promod3.modelling.LoopCandidates.FillFromDatabase" title="promod3.modelling.LoopCandidates.FillFromDatabase"><code class="xref py py-meth docutils literal notranslate"><span class="pre">FillFromDatabase()</span></code></a> and
 updated whenever the candidates are copied, removed, clustered etc.. So you
 will probably never need this function.</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>fragment</strong> (<a class="reference internal" href="../loop/structure_db.html#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a>) – The fragment info to add.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>fragment</strong> (<a class="reference internal" href="../loop/structure_db.html#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a>) – The fragment info to add.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.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.modelling.LoopCandidates.Remove" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.LoopCandidates.Remove">
+<span class="sig-name descname"><span class="pre">Remove</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the candidate that will be removed</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>index</em> is out of bounds.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the candidate that will be removed</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>index</em> is out of bounds.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.LoopCandidates.HasFragmentInfos">
-<code class="descname">HasFragmentInfos</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.HasFragmentInfos" 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, if each loop candidate has a connected fragment info.</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.LoopCandidates.HasFragmentInfos">
+<span class="sig-name descname"><span class="pre">HasFragmentInfos</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.HasFragmentInfos" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>True, if each loop candidate has a connected fragment info.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.LoopCandidates.GetFragmentInfo">
-<code class="descname">GetFragmentInfo</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.GetFragmentInfo" 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">Fragment info connected to loop candidate at given <em>index</em>.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="../loop/structure_db.html#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a></td>
-</tr>
-<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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the candidate.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <a class="reference internal" href="#promod3.modelling.LoopCandidates.HasFragmentInfos" title="promod3.modelling.LoopCandidates.HasFragmentInfos"><code class="xref py py-meth docutils literal notranslate"><span class="pre">HasFragmentInfos()</span></code></a> is
-False or if <em>index</em> is out of bounds.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.LoopCandidates.GetFragmentInfo">
+<span class="sig-name descname"><span class="pre">GetFragmentInfo</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.GetFragmentInfo" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Fragment info connected to loop candidate at given <em>index</em>.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="../loop/structure_db.html#promod3.loop.FragmentInfo" title="promod3.loop.FragmentInfo"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragmentInfo</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the candidate.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <a class="reference internal" href="#promod3.modelling.LoopCandidates.HasFragmentInfos" title="promod3.modelling.LoopCandidates.HasFragmentInfos"><code class="xref py py-meth docutils literal notranslate"><span class="pre">HasFragmentInfos()</span></code></a> is
+False or if <em>index</em> is out of bounds.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.LoopCandidates.Extract">
-<code class="descname">Extract</code><span class="sig-paren">(</span><em>indices</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.Extract" 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">Container with candidates with given <em>indices</em>.</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.LoopCandidates" title="promod3.modelling.LoopCandidates"><code class="xref py py-class docutils literal notranslate"><span class="pre">LoopCandidates</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>indices</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Candidate indices to extract.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if any index is out of bounds.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.LoopCandidates.Extract">
+<span class="sig-name descname"><span class="pre">Extract</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">indices</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.Extract" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Container with candidates with given <em>indices</em>.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.modelling.LoopCandidates" title="promod3.modelling.LoopCandidates"><code class="xref py py-class docutils literal notranslate"><span class="pre">LoopCandidates</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>indices</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Candidate indices to extract.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if any index is out of bounds.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.LoopCandidates.GetClusters">
-<code class="descname">GetClusters</code><span class="sig-paren">(</span><em>max_dist</em>, <em>superposed_rmsd = False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.GetClusters" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.LoopCandidates.GetClusters">
+<span class="sig-name descname"><span class="pre">GetClusters</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">max_dist</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">superposed_rmsd</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.GetClusters" title="Permalink to this definition">¶</a></dt>
 <dd><p>Clusters the loop candidates according to their pairwise CA RMSD using an
 agglomerative 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 average
 CA RMSD 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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal distance two clusters can have to be merged</li>
-<li><strong>superposed_rmsd</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to calculate the RMSD based on a minimal
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>max_dist</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal distance two clusters can have to be merged</p></li>
+<li><p><strong>superposed_rmsd</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to calculate the RMSD based on a minimal
 RMSD superposition or simply consider the current
-positions</li>
+positions</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Lists of loop candidate indices into this container</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="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Lists of loop candidate indices into this container</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.LoopCandidates.GetClusteredCandidates">
-<code class="descname">GetClusteredCandidates</code><span class="sig-paren">(</span><em>max_dist</em>, <em>neglect_size_one=True</em>, <em>superposed_rmsd=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.GetClusteredCandidates" 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"><p class="first">List of loop candidates clustered as in <a class="reference internal" href="#promod3.modelling.LoopCandidates.GetClusters" title="promod3.modelling.LoopCandidates.GetClusters"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetClusters()</span></code></a>.</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.modelling.LoopCandidates" title="promod3.modelling.LoopCandidates"><code class="xref py py-class docutils literal notranslate"><span class="pre">LoopCandidates</span></code></a></p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>max_dist</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether clusters should be added to the returned
-list if they only contain one loop candidate</li>
-<li><strong>superposed_rmsd</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to calculate the RMSD based on a minimal
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.LoopCandidates.GetClusteredCandidates">
+<span class="sig-name descname"><span class="pre">GetClusteredCandidates</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">max_dist</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">neglect_size_one</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">superposed_rmsd</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.GetClusteredCandidates" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>List of loop candidates clustered as in <a class="reference internal" href="#promod3.modelling.LoopCandidates.GetClusters" title="promod3.modelling.LoopCandidates.GetClusters"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetClusters()</span></code></a>.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.modelling.LoopCandidates" title="promod3.modelling.LoopCandidates"><code class="xref py py-class docutils literal notranslate"><span class="pre">LoopCandidates</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>max_dist</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal distance two clusters can have to be merged</p></li>
+<li><p><strong>neglect_size_one</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether clusters should be added to the returned
+list if they only contain one loop candidate</p></li>
+<li><p><strong>superposed_rmsd</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to calculate the RMSD based on a minimal
 RMSD superposition or simply consider the current
-positions</li>
+positions</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.LoopCandidates.GetLargestCluster">
-<code class="descname">GetLargestCluster</code><span class="sig-paren">(</span><em>max_dist</em>, <em>superposed_rmsd = False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.GetLargestCluster" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.LoopCandidates.GetLargestCluster">
+<span class="sig-name descname"><span class="pre">GetLargestCluster</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">max_dist</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">superposed_rmsd</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LoopCandidates.GetLargestCluster" title="Permalink to this definition">¶</a></dt>
 <dd><p>Instead of performing a full clustering, the algorithm simply searches for
 the candidate with the most other candidates having a CA RMSD below
 <strong>max_dist</strong>. This candidate then serves as centroid for the return
 cluster.</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal CA RMSD to cluster centroid</li>
-<li><strong>superposed_rmsd</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to calculate the RMSD based on a minimal
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>max_dist</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal CA RMSD to cluster centroid</p></li>
+<li><p><strong>superposed_rmsd</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to calculate the RMSD based on a minimal
 RMSD superposition or simply consider the current
-positions</li>
+positions</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Largest possible cluster with all members having a
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Largest possible cluster with all members having a
 CA RMSD below <strong>max_dist</strong> to cluster centroid.</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.modelling.LoopCandidates" title="promod3.modelling.LoopCandidates"><code class="xref py py-class docutils literal notranslate"><span class="pre">LoopCandidates</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.modelling.LoopCandidates" title="promod3.modelling.LoopCandidates"><code class="xref py py-class docutils literal notranslate"><span class="pre">LoopCandidates</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="keeping-track-of-loop-candidate-scores">
-<h2>Keeping track of loop candidate scores<a class="headerlink" href="#keeping-track-of-loop-candidate-scores" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="keeping-track-of-loop-candidate-scores">
+<h2>Keeping track of loop candidate scores<a class="headerlink" href="#keeping-track-of-loop-candidate-scores" title="Permalink to this heading">¶</a></h2>
 <p>Two helper classes are used to keep track and combine different scores computed
 on loop candidates.</p>
-<dl class="class">
-<dt id="promod3.modelling.ScoreContainer">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">ScoreContainer</code><a class="headerlink" href="#promod3.modelling.ScoreContainer" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.ScoreContainer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">ScoreContainer</span></span><a class="headerlink" href="#promod3.modelling.ScoreContainer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Container to keep vectors of scores (one for each loop candidate) for each
 scorer (one vector for each single scorer). Each score vector is guaranteed
 to have the same number of values.</p>
-<dl class="method">
-<dt id="promod3.modelling.ScoreContainer.IsEmpty">
-<code class="descname">IsEmpty</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoreContainer.IsEmpty" 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, if no loop candidates have been scored with any scorer yet.</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ScoreContainer.IsEmpty">
+<span class="sig-name descname"><span class="pre">IsEmpty</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoreContainer.IsEmpty" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>True, if no loop candidates have been scored with any scorer yet.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.ScoreContainer.Contains">
-<code class="descname">Contains</code><span class="sig-paren">(</span><em>key</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoreContainer.Contains" 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, if a score vector for this key was already added.</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>key</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Key for desired scorer.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ScoreContainer.Contains">
+<span class="sig-name descname"><span class="pre">Contains</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoreContainer.Contains" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>True, if a score vector for this key was already added.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>key</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Key for desired scorer.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.ScoreContainer.Get">
-<code class="descname">Get</code><span class="sig-paren">(</span><em>key</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoreContainer.Get" 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">Score vector for the given <em>key</em>.</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.modelling.ScoreContainer.GetNumCandidates" title="promod3.modelling.ScoreContainer.GetNumCandidates"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumCandidates()</span></code></a> <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>key</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Key for desired score vector.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if there are no scores for that
-<em>key</em>.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ScoreContainer.Get">
+<span class="sig-name descname"><span class="pre">Get</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoreContainer.Get" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Score vector for the given <em>key</em>.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.modelling.ScoreContainer.GetNumCandidates" title="promod3.modelling.ScoreContainer.GetNumCandidates"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumCandidates()</span></code></a> <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>key</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Key for desired score vector.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if there are no scores for that
+<em>key</em>.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.ScoreContainer.Set">
-<code class="descname">Set</code><span class="sig-paren">(</span><em>key</em>, <em>scores</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoreContainer.Set" 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>key</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Set scores for that <em>key</em>.</li>
-<li><strong>scores</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Score vector to set.</li>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ScoreContainer.Set">
+<span class="sig-name descname"><span class="pre">Set</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scores</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoreContainer.Set" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>key</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Set scores for that <em>key</em>.</p></li>
+<li><p><strong>scores</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Score vector to set.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if this container contains other
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if this container contains other
 score vectors with a different number of entries.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.ScoreContainer.GetNumCandidates">
-<code class="descname">GetNumCandidates</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoreContainer.GetNumCandidates" 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 loop candidates that are scored here. This is the length
-of each score vector in this container.</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ScoreContainer.GetNumCandidates">
+<span class="sig-name descname"><span class="pre">GetNumCandidates</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoreContainer.GetNumCandidates" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Number of loop candidates that are scored here. This is the length
+of each score vector in this container.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.ScoreContainer.LinearCombine">
-<code class="descname">LinearCombine</code><span class="sig-paren">(</span><em>linear_weights</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoreContainer.LinearCombine" 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">Weighted, linear combination of scores.</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.modelling.ScoreContainer.GetNumCandidates" title="promod3.modelling.ScoreContainer.GetNumCandidates"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumCandidates()</span></code></a> <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>linear_weights</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#dict" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> (keys: <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>,
-values: <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)) – Weights for each scorer.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>linear_weights</em> has a key for
-which no scores were added.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ScoreContainer.LinearCombine">
+<span class="sig-name descname"><span class="pre">LinearCombine</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">linear_weights</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoreContainer.LinearCombine" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Weighted, linear combination of scores.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.modelling.ScoreContainer.GetNumCandidates" title="promod3.modelling.ScoreContainer.GetNumCandidates"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumCandidates()</span></code></a> <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>linear_weights</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#dict" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> (keys: <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>,
+values: <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)) – Weights for each scorer.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>linear_weights</em> has a key for
+which no scores were added.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.ScoreContainer.Copy">
-<code class="descname">Copy</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoreContainer.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">Full copy of this container.</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.ScoreContainer" title="promod3.modelling.ScoreContainer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoreContainer</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ScoreContainer.Copy">
+<span class="sig-name descname"><span class="pre">Copy</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoreContainer.Copy" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Full copy of this container.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.modelling.ScoreContainer" title="promod3.modelling.ScoreContainer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoreContainer</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.ScoreContainer.Extract">
-<code class="descname">Extract</code><span class="sig-paren">(</span><em>indices</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoreContainer.Extract" 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">Container with scores for a subset of loop candidates.</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.ScoreContainer" title="promod3.modelling.ScoreContainer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoreContainer</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>indices</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – List of loop candidate indices to pick
-(in [0, <a class="reference internal" href="#promod3.modelling.ScoreContainer.GetNumCandidates" title="promod3.modelling.ScoreContainer.GetNumCandidates"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumCandidates()</span></code></a>-1])</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if any index is out of bounds.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ScoreContainer.Extract">
+<span class="sig-name descname"><span class="pre">Extract</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">indices</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoreContainer.Extract" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Container with scores for a subset of loop candidates.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.modelling.ScoreContainer" title="promod3.modelling.ScoreContainer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoreContainer</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>indices</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – List of loop candidate indices to pick
+(in [0, <a class="reference internal" href="#promod3.modelling.ScoreContainer.GetNumCandidates" title="promod3.modelling.ScoreContainer.GetNumCandidates"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetNumCandidates()</span></code></a>-1])</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if any index is out of bounds.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.ScoreContainer.Extend">
-<code class="descname">Extend</code><span class="sig-paren">(</span><em>other</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoreContainer.Extend" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ScoreContainer.Extend">
+<span class="sig-name descname"><span class="pre">Extend</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoreContainer.Extend" title="Permalink to this definition">¶</a></dt>
 <dd><p>Extend each score vector with the score vector of <em>other</em> (must have
 matching keys).</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.modelling.ScoreContainer" title="promod3.modelling.ScoreContainer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoreContainer</span></code></a>) – Score container to be added to this one.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>other</strong> (<a class="reference internal" href="#promod3.modelling.ScoreContainer" title="promod3.modelling.ScoreContainer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoreContainer</span></code></a>) – Score container to be added to this one.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.modelling.ScoringWeights">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">ScoringWeights</code><a class="headerlink" href="#promod3.modelling.ScoringWeights" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.ScoringWeights">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">ScoringWeights</span></span><a class="headerlink" href="#promod3.modelling.ScoringWeights" title="Permalink to this definition">¶</a></dt>
 <dd><p>Globally accessible set of weights to be used in scoring. This also defines
 a consistent naming of keys used for backbone and all atom scorers as set up
 by <a class="reference internal" href="pipeline.html#promod3.modelling.SetupDefaultBackboneScoring" title="promod3.modelling.SetupDefaultBackboneScoring"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetupDefaultBackboneScoring()</span></code></a> and <a class="reference internal" href="pipeline.html#promod3.modelling.SetupDefaultAllAtomScoring" title="promod3.modelling.SetupDefaultAllAtomScoring"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetupDefaultAllAtomScoring()</span></code></a>.</p>
@@ -816,181 +749,159 @@ different weights for following lengths: [0,1,2,3,4], [5,6], [7,8], [9,10],
 [11,12], [13,14].</p>
 <p>If you choose to modify the weights, please ensure to set consistently named
 keys in here and to use consistently named scorers and scoring computations!</p>
-<dl class="staticmethod">
-<dt id="promod3.modelling.ScoringWeights.GetWeights">
-<em class="property">static </em><code class="descname">GetWeights</code><span class="sig-paren">(</span><em>with_db=False</em>, <em>with_aa=False</em>, <em>length_dependent=False</em>, <em>loop_length=-1</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.GetWeights" 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"><p class="first">Named weights to be used when scoring loop candidates. The default
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ScoringWeights.GetWeights">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetWeights</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">with_db</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">with_aa</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">length_dependent</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">loop_length</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.GetWeights" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Named weights to be used when scoring loop candidates. The default
 weights were optimized to give the best performance when choosing
 the loop candidate with the lowest combined score. Each set of
 weights includes (different) backbone scoring weights, that are
 optionally only trained on a subset of loops with corresponding
 loop length.</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#dict" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> (keys: <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>, values: <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)</p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>with_db</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True to choose a set of weights including DB specific scores
-(stem RMSD and profile scores)</li>
-<li><strong>with_aa</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True to choose a set of weights including all atom scores</li>
-<li><strong>length_dependent</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to use general weights or their length
-length dependent counterparts.</li>
-<li><strong>loop_length</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of full loop. If no weights are available for
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#dict" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> (keys: <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>, values: <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)</p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>with_db</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True to choose a set of weights including DB specific scores
+(stem RMSD and profile scores)</p></li>
+<li><p><strong>with_aa</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True to choose a set of weights including all atom scores</p></li>
+<li><p><strong>length_dependent</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to use general weights or their length
+length dependent counterparts.</p></li>
+<li><p><strong>loop_length</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of full loop. If no weights are available for
 this length or when <em>loop_length</em> is -1, the general
-weights are returned.</li>
+weights are returned.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.modelling.ScoringWeights.SetWeights">
-<em class="property">static </em><code class="descname">SetWeights</code><span class="sig-paren">(</span><em>with_db</em>, <em>with_aa</em>, <em>weights</em>, <em>length_dependent=False</em>, <em>loop_length=-1</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.SetWeights" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ScoringWeights.SetWeights">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">SetWeights</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">with_db</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">with_aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">weights</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">length_dependent</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">loop_length</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.SetWeights" title="Permalink to this definition">¶</a></dt>
 <dd><p>Overwrite a set of weights as returned by <a class="reference internal" href="#promod3.modelling.ScoringWeights.GetWeights" title="promod3.modelling.ScoringWeights.GetWeights"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetWeights()</span></code></a>.</p>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.modelling.ScoringWeights.GetBackboneWeights">
-<em class="property">static </em><code class="descname">GetBackboneWeights</code><span class="sig-paren">(</span><em>with_db=False</em>, <em>with_aa=False</em>, <em>length_dependent=False</em>, <em>loop_length=-1</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.GetBackboneWeights" 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"><p class="first">Subset of <a class="reference internal" href="#promod3.modelling.ScoringWeights.GetWeights" title="promod3.modelling.ScoringWeights.GetWeights"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetWeights()</span></code></a> for backbone scoring as in
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ScoringWeights.GetBackboneWeights">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetBackboneWeights</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">with_db</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">with_aa</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">length_dependent</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">loop_length</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.GetBackboneWeights" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Subset of <a class="reference internal" href="#promod3.modelling.ScoringWeights.GetWeights" title="promod3.modelling.ScoringWeights.GetWeights"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetWeights()</span></code></a> for backbone scoring as in
 <code class="xref py py-meth docutils literal notranslate"><span class="pre">scoring.BackboneOverallScorer.CalculateLinearCombination()</span></code>.</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#dict" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> (keys: <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>, values: <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)</p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>with_db</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – As in <a class="reference internal" href="#promod3.modelling.ScoringWeights.GetWeights" title="promod3.modelling.ScoringWeights.GetWeights"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetWeights()</span></code></a></li>
-<li><strong>with_aa</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – As in <a class="reference internal" href="#promod3.modelling.ScoringWeights.GetWeights" title="promod3.modelling.ScoringWeights.GetWeights"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetWeights()</span></code></a></li>
-<li><strong>length_dependent</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – As in <a class="reference internal" href="#promod3.modelling.ScoringWeights.GetWeights" title="promod3.modelling.ScoringWeights.GetWeights"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetWeights()</span></code></a></li>
-<li><strong>loop_length</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – As in <a class="reference internal" href="#promod3.modelling.ScoringWeights.GetWeights" title="promod3.modelling.ScoringWeights.GetWeights"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetWeights()</span></code></a></li>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#dict" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> (keys: <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>, values: <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)</p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>with_db</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – As in <a class="reference internal" href="#promod3.modelling.ScoringWeights.GetWeights" title="promod3.modelling.ScoringWeights.GetWeights"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetWeights()</span></code></a></p></li>
+<li><p><strong>with_aa</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – As in <a class="reference internal" href="#promod3.modelling.ScoringWeights.GetWeights" title="promod3.modelling.ScoringWeights.GetWeights"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetWeights()</span></code></a></p></li>
+<li><p><strong>length_dependent</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – As in <a class="reference internal" href="#promod3.modelling.ScoringWeights.GetWeights" title="promod3.modelling.ScoringWeights.GetWeights"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetWeights()</span></code></a></p></li>
+<li><p><strong>loop_length</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – As in <a class="reference internal" href="#promod3.modelling.ScoringWeights.GetWeights" title="promod3.modelling.ScoringWeights.GetWeights"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetWeights()</span></code></a></p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.modelling.ScoringWeights.GetAllAtomWeights">
-<em class="property">static </em><code class="descname">GetAllAtomWeights</code><span class="sig-paren">(</span><em>with_db=False</em>, <em>length_dependent=False</em>, <em>loop_length=-1</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.GetAllAtomWeights" 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"><p class="first">Subset of <a class="reference internal" href="#promod3.modelling.ScoringWeights.GetWeights" title="promod3.modelling.ScoringWeights.GetWeights"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetWeights()</span></code></a> for all atom scoring as in
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ScoringWeights.GetAllAtomWeights">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetAllAtomWeights</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">with_db</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">length_dependent</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">loop_length</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.GetAllAtomWeights" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Subset of <a class="reference internal" href="#promod3.modelling.ScoringWeights.GetWeights" title="promod3.modelling.ScoringWeights.GetWeights"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetWeights()</span></code></a> for all atom scoring as in
 <code class="xref py py-meth docutils literal notranslate"><span class="pre">scoring.AllAtomOverallScorer.CalculateLinearCombination()</span></code>.</p>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#dict" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> (keys: <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>, values: <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)</p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>with_db</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – As in <a class="reference internal" href="#promod3.modelling.ScoringWeights.GetWeights" title="promod3.modelling.ScoringWeights.GetWeights"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetWeights()</span></code></a></li>
-<li><strong>length_dependent</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – As in <a class="reference internal" href="#promod3.modelling.ScoringWeights.GetWeights" title="promod3.modelling.ScoringWeights.GetWeights"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetWeights()</span></code></a></li>
-<li><strong>loop_length</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – As in <a class="reference internal" href="#promod3.modelling.ScoringWeights.GetWeights" title="promod3.modelling.ScoringWeights.GetWeights"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetWeights()</span></code></a></li>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#dict" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> (keys: <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>, values: <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)</p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>with_db</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – As in <a class="reference internal" href="#promod3.modelling.ScoringWeights.GetWeights" title="promod3.modelling.ScoringWeights.GetWeights"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetWeights()</span></code></a></p></li>
+<li><p><strong>length_dependent</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – As in <a class="reference internal" href="#promod3.modelling.ScoringWeights.GetWeights" title="promod3.modelling.ScoringWeights.GetWeights"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetWeights()</span></code></a></p></li>
+<li><p><strong>loop_length</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – As in <a class="reference internal" href="#promod3.modelling.ScoringWeights.GetWeights" title="promod3.modelling.ScoringWeights.GetWeights"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetWeights()</span></code></a></p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.modelling.ScoringWeights.GetStemRMSDsKey">
-<em class="property">static </em><code class="descname">GetStemRMSDsKey</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.GetStemRMSDsKey" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.modelling.ScoringWeights.GetSequenceProfileScoresKey">
-<em class="property">static </em><code class="descname">GetSequenceProfileScoresKey</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.GetSequenceProfileScoresKey" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.modelling.ScoringWeights.GetStructureProfileScoresKey">
-<em class="property">static </em><code class="descname">GetStructureProfileScoresKey</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.GetStructureProfileScoresKey" 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">Default key for stem RMSD / sequence profile / structure profile
-scores.</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ScoringWeights.GetStemRMSDsKey">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetStemRMSDsKey</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.GetStemRMSDsKey" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.modelling.ScoringWeights.GetSequenceProfileScoresKey">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetSequenceProfileScoresKey</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.GetSequenceProfileScoresKey" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.modelling.ScoringWeights.GetStructureProfileScoresKey">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetStructureProfileScoresKey</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.GetStructureProfileScoresKey" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Default key for stem RMSD / sequence profile / structure profile
+scores.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.modelling.ScoringWeights.SetStemRMSDsKey">
-<em class="property">static </em><code class="descname">SetStemRMSDsKey</code><span class="sig-paren">(</span><em>key</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.SetStemRMSDsKey" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.modelling.ScoringWeights.SetSequenceProfileScoresKey">
-<em class="property">static </em><code class="descname">SetSequenceProfileScoresKey</code><span class="sig-paren">(</span><em>key</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.SetSequenceProfileScoresKey" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.modelling.ScoringWeights.SetStructureProfileScoresKey">
-<em class="property">static </em><code class="descname">SetStructureProfileScoresKey</code><span class="sig-paren">(</span><em>key</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.SetStructureProfileScoresKey" 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>key</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – New default key for stem RMSD / sequence profile / structure
-profile scores.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ScoringWeights.SetStemRMSDsKey">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">SetStemRMSDsKey</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.SetStemRMSDsKey" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.modelling.ScoringWeights.SetSequenceProfileScoresKey">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">SetSequenceProfileScoresKey</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.SetSequenceProfileScoresKey" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.modelling.ScoringWeights.SetStructureProfileScoresKey">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">SetStructureProfileScoresKey</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.SetStructureProfileScoresKey" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>key</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – New default key for stem RMSD / sequence profile / structure
+profile scores.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.modelling.ScoringWeights.GetBackboneScoringKeys">
-<em class="property">static </em><code class="descname">GetBackboneScoringKeys</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.GetBackboneScoringKeys" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.modelling.ScoringWeights.GetAllAtomScoringKeys">
-<em class="property">static </em><code class="descname">GetAllAtomScoringKeys</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.GetAllAtomScoringKeys" 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">List of backbone / all-atom scorers to be computed for any set of
-weights defined in here.</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ScoringWeights.GetBackboneScoringKeys">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetBackboneScoringKeys</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.GetBackboneScoringKeys" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.modelling.ScoringWeights.GetAllAtomScoringKeys">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GetAllAtomScoringKeys</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.GetAllAtomScoringKeys" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>List of backbone / all-atom scorers to be computed for any set of
+weights defined in here.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.modelling.ScoringWeights.SetBackboneScoringKeys">
-<em class="property">static </em><code class="descname">SetBackboneScoringKeys</code><span class="sig-paren">(</span><em>keys</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.SetBackboneScoringKeys" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.modelling.ScoringWeights.SetAllAtomScoringKeys">
-<em class="property">static </em><code class="descname">SetAllAtomScoringKeys</code><span class="sig-paren">(</span><em>keys</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.SetAllAtomScoringKeys" 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>keys</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – New list of backbone / all-atom scorers to be computed for any
-set of weights defined in here.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ScoringWeights.SetBackboneScoringKeys">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">SetBackboneScoringKeys</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">keys</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.SetBackboneScoringKeys" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.modelling.ScoringWeights.SetAllAtomScoringKeys">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">SetAllAtomScoringKeys</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">keys</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScoringWeights.SetAllAtomScoringKeys" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>keys</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – New list of backbone / all-atom scorers to be computed for any
+set of weights defined in here.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="example-loop-scoring-in-modelling">
-<h2>Example: loop scoring in modelling<a class="headerlink" href="#example-loop-scoring-in-modelling" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="example-loop-scoring-in-modelling">
+<h2>Example: loop scoring in modelling<a class="headerlink" href="#example-loop-scoring-in-modelling" title="Permalink to this heading">¶</a></h2>
 <p>In the example below, we show how we find and choose a loop candidate to close a
 gap for a model. This shows the combined usage of <a class="reference internal" href="pipeline.html#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a> to
 keep a consistent modelling environment, <a class="reference internal" href="#promod3.modelling.LoopCandidates" title="promod3.modelling.LoopCandidates"><code class="xref py py-class docutils literal notranslate"><span class="pre">LoopCandidates</span></code></a> with its
 scoring routines, <a class="reference internal" href="#promod3.modelling.ScoreContainer" title="promod3.modelling.ScoreContainer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoreContainer</span></code></a> for keeping track of scores and
 <a class="reference internal" href="#promod3.modelling.ScoringWeights" title="promod3.modelling.ScoringWeights"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoringWeights</span></code></a> to combine scores:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span><span class="p">,</span> <span class="n">seq</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">modelling</span><span class="p">,</span> <span class="n">loop</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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">seq</span>
+<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">modelling</span><span class="p">,</span> <span class="n">loop</span>
 
 <span class="c1"># setup 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="s1">&#39;data/1crn_cut.pdb&#39;</span><span class="p">)</span>
@@ -1077,11 +988,12 @@ scoring routines, <a class="reference internal" href="#promod3.modelling.ScoreCo
 <span class="n">io</span><span class="o">.</span><span class="n">SavePDB</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="s2">&quot;model.pdb&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -1102,12 +1014,12 @@ scoring routines, <a class="reference internal" href="#promod3.modelling.ScoreCo
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -1124,7 +1036,7 @@ scoring routines, <a class="reference internal" href="#promod3.modelling.ScoreCo
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a><ul>
       <li>Previous: <a href="gap_handling.html" title="previous chapter">Handling Gaps</a></li>
       <li>Next: <a href="loop_closing.html" title="next chapter">Fitting Loops Into Gaps</a></li>
   </ul></li>
@@ -1133,27 +1045,33 @@ scoring routines, <a class="reference internal" href="#promod3.modelling.ScoreCo
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/modelling/loop_candidates.rst.txt"
diff --git a/doc/html/modelling/loop_closing.html b/doc/html/modelling/loop_closing.html
index 6a4c5a923e8e0704cf045bc6fe9fd7b850daaa33..baad5d78cee9c85262690db8766038da911f8159 100644
--- a/doc/html/modelling/loop_closing.html
+++ b/doc/html/modelling/loop_closing.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Fitting Loops Into Gaps &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Fitting Loops Into Gaps &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Generating Loops De Novo" href="monte_carlo.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,22 +31,24 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="fitting-loops-into-gaps">
-<h1>Fitting Loops Into Gaps<a class="headerlink" href="#fitting-loops-into-gaps" title="Permalink to this headline">¶</a></h1>
+  <section id="fitting-loops-into-gaps">
+<h1>Fitting Loops Into Gaps<a class="headerlink" href="#fitting-loops-into-gaps" title="Permalink to this heading">¶</a></h1>
 <p>Loops often need to undergo conformational changes to fit into gaps defined by
 stem residues. ProMod3 implements two algorithms performing this task:</p>
 <blockquote>
 <div><ul class="simple">
-<li>Cyclic coordinate descent (CCD) <a class="reference internal" href="../references.html#canutescu2003" id="id1">[canutescu2003]</a></li>
-<li>Kinematic closure (KIC) <a class="reference internal" href="../references.html#coutsias2005" id="id2">[coutsias2005]</a></li>
+<li><p>Cyclic coordinate descent (CCD) <a class="reference internal" href="../references.html#canutescu2003" id="id1"><span>[canutescu2003]</span></a></p></li>
+<li><p>Kinematic closure (KIC) <a class="reference internal" href="../references.html#coutsias2005" id="id2"><span>[coutsias2005]</span></a></p></li>
 </ul>
 </div></blockquote>
 <p>In case of small gaps or small issues in the loop you might also consider the
-<a class="reference internal" href="#promod3.modelling.BackboneRelaxer" title="promod3.modelling.BackboneRelaxer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneRelaxer</span></code></a>.</p>
-<div class="section" id="ccd">
-<h2>CCD<a class="headerlink" href="#ccd" title="Permalink to this headline">¶</a></h2>
+<a class="reference internal" href="#id3" title="promod3.modelling.BackboneRelaxer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneRelaxer</span></code></a>.</p>
+<section id="ccd">
+<h2>CCD<a class="headerlink" href="#ccd" title="Permalink to this heading">¶</a></h2>
 <p>The ProMod3 implementation of the cyclic coordinate descent first superposes
 the n-stem of the input loop with the provided n-stem positions. In every
 iteration of the algorithm, we loop over all residues of the loop and find the
@@ -58,411 +61,358 @@ algorithm calculates the probability of observing the dihedral pair before and
 after performing the phi/psi update. If the fraction after/before is smaller
 than a uniform random number in the range [0,1[, the proposed dihedral pair gets
 rejected. Please note, that this increases the probability of non-convergence.</p>
-<dl class="class">
-<dt id="promod3.modelling.CCD">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">CCD</code><a class="headerlink" href="#promod3.modelling.CCD" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.CCD">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">CCD</span></span><a class="headerlink" href="#promod3.modelling.CCD" title="Permalink to this definition">¶</a></dt>
 <dd><p>Class, that sets up everything you need to perform a particular loop closing
 action.</p>
-<dl class="method">
-<dt id="promod3.modelling.CCD.CCD">
-<code class="descname">CCD</code><span class="sig-paren">(</span><em>sequence</em>, <em>n_stem</em>, <em>c_stem</em>, <em>torsion_sampler</em>, <em>max_steps</em>, <em>rmsd_cutoff</em>, <em>seed</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CCD.CCD" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.CCD.CCD">
+<span class="sig-name descname"><span class="pre">CCD</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sequence</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">torsion_sampler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_steps</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rmsd_cutoff</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CCD.CCD" title="Permalink to this definition">¶</a></dt>
 <dd><p>All runs with this CCD object will be with application of torsion samplers
 to avoid moving into unfavourable regions of the backbone dihedrals.</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>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence of the backbones to be closed</li>
-<li><strong>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue defining the n_stem.
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence of the backbones to be closed</p></li>
+<li><p><strong>n_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue defining the n_stem.
 If the residue before <em>n_stem</em> doesn’t exist, the
 torsion sampler will use a default residue (ALA) and
-and phi angle (-1.0472) to evaluate the first angle.</li>
-<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue defining the c_stem.
+and phi angle (-1.0472) to evaluate the first angle.</p></li>
+<li><p><strong>c_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue defining the c_stem.
 If the residue after <em>c_stem</em> doesn’t exist, the
 torsion sampler will use a default residue (ALA) and
-psi angle (-0.7854) to evaluate the last angle.</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 notranslate"><span class="pre">TorsionSampler</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>
+psi angle (-0.7854) to evaluate the last angle.</p></li>
+<li><p><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 notranslate"><span class="pre">TorsionSampler</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>
 of <a class="reference internal" href="../loop/torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a>) – To extract probabilities for the analysis of the
 backbone dihedrals. Either a list of torsion
 samplers (one for for every residue of the loop to
-be closed) or a single one (used for all residues).</li>
-<li><strong>max_steps</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Maximal number of iterations</li>
-<li><strong>rmsd_cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The algorithm stops as soon as the c_stem of the loop to
-be closed has RMSD below the <em>c_stem</em></li>
-<li><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed of random number generator to decide whether new phi/psi pair
-should be accepted.</li>
+be closed) or a single one (used for all residues).</p></li>
+<li><p><strong>max_steps</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Maximal number of iterations</p></li>
+<li><p><strong>rmsd_cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The algorithm stops as soon as the c_stem of the loop to
+be closed has RMSD below the <em>c_stem</em></p></li>
+<li><p><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed of random number generator to decide whether new phi/psi pair
+should be accepted.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if a list of torsion samplers is
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if a list of torsion samplers is
 given with inconsistent length regarding the sequence. Another
 requirement is that all backbone atoms of the stems must be
 present.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">CCD</code><span class="sig-paren">(</span><em>n_stem</em>, <em>c_stem</em>, <em>max_steps</em>, <em>rmsd_cutoff</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id0">
+<span class="sig-name descname"><span class="pre">CCD</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_steps</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rmsd_cutoff</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id0" title="Permalink to this definition">¶</a></dt>
 <dd><p>All runs with this CCD object will be without application of torsion samplers.
 This is faster but might lead to weird backbone dihedral pairs.</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="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue defining the n_stem</li>
-<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue defining the c_stem</li>
-<li><strong>max_steps</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Maximal number of iterations</li>
-<li><strong>rmsd_cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The algorithm stops as soon as the c_stem of the loop to
-be  closed has RMSD below the given <em>c_stem</em></li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>n_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue defining the n_stem</p></li>
+<li><p><strong>c_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue defining the c_stem</p></li>
+<li><p><strong>max_steps</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Maximal number of iterations</p></li>
+<li><p><strong>rmsd_cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The algorithm stops as soon as the c_stem of the loop to
+be  closed has RMSD below the given <em>c_stem</em></p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.CCD.Close">
-<code class="descname">Close</code><span class="sig-paren">(</span><em>bb_list</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CCD.Close" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.CCD.Close">
+<span class="sig-name descname"><span class="pre">Close</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bb_list</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CCD.Close" title="Permalink to this definition">¶</a></dt>
 <dd><p>Closes given <em>bb_list</em> with the settings set at initialization.</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="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Loop to be closed</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">Whether <em>rmsd_cutoff</em> has been reached</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if the CCD object has been
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Loop to be closed</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Whether <em>rmsd_cutoff</em> has been reached</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if the CCD object has been
 initialized with <a class="reference internal" href="../loop/torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a> support
 and the length of the <em>bb_list</em> is not consistent with the initial
-<em>sequence</em>.</td>
-</tr>
-</tbody>
-</table>
+<em>sequence</em>.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="kic">
-<h2>KIC<a class="headerlink" href="#kic" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="kic">
+<h2>KIC<a class="headerlink" href="#kic" title="Permalink to this heading">¶</a></h2>
 <p>The kinematic closure leads to a fragmentation of the loop based on given
 pivot residues. It then calculates possible relative orientations
 of these fragments by considering constraints of bond length and bond angles
 at these pivot residues. Due to the internal mathematical formalism, up to
 16 solutions can be found for a given loop closing problem.</p>
-<dl class="class">
-<dt id="promod3.modelling.KIC">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">KIC</code><a class="headerlink" href="#promod3.modelling.KIC" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.KIC">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">KIC</span></span><a class="headerlink" href="#promod3.modelling.KIC" title="Permalink to this definition">¶</a></dt>
 <dd><p>Class, that sets up everything you need to perform a particular loop closing
 action.</p>
-<dl class="method">
-<dt id="promod3.modelling.KIC.KIC">
-<code class="descname">KIC</code><span class="sig-paren">(</span><em>n_stem</em>, <em>c_stem</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.KIC.KIC" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.KIC.KIC">
+<span class="sig-name descname"><span class="pre">KIC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_stem</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.KIC.KIC" title="Permalink to this definition">¶</a></dt>
 <dd><p>All runs of this KIC closing object will adapt the input loops to these
 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> – Residue describing the stem towards n_ter</li>
-<li><strong>c_stem</strong> – Residue describing the stem towards c_ter</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>n_stem</strong> – Residue describing the stem towards n_ter</p></li>
+<li><p><strong>c_stem</strong> – Residue describing the stem towards c_ter</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.KIC.Close">
-<code class="descname">Close</code><span class="sig-paren">(</span><em>bb_list</em>, <em>pivot_one</em>, <em>pivot_two</em>, <em>pivot_three</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.KIC.Close" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.KIC.Close">
+<span class="sig-name descname"><span class="pre">Close</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bb_list</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pivot_one</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pivot_two</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pivot_three</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.KIC.Close" title="Permalink to this definition">¶</a></dt>
 <dd><p>Applies KIC algorithm, so that the output loops match the given 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 simple">
-<li><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Loop to be closed</li>
-<li><strong>pivot_one</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of first pivot residue</li>
-<li><strong>pivot_two</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of second pivot residue</li>
-<li><strong>pivot_three</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of third pivot residue</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Loop to be closed</p></li>
+<li><p><strong>pivot_one</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of first pivot residue</p></li>
+<li><p><strong>pivot_two</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of second pivot residue</p></li>
+<li><p><strong>pivot_three</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of third pivot residue</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">List of closed loops (maximum of 16 entries)</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</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"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> in case of invalid pivot indices.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>List of closed loops (maximum of 16 entries)</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> in case of invalid pivot indices.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="relaxing-backbones">
-<h2>Relaxing Backbones<a class="headerlink" href="#relaxing-backbones" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="relaxing-backbones">
+<h2>Relaxing Backbones<a class="headerlink" href="#relaxing-backbones" title="Permalink to this heading">¶</a></h2>
 <p>In many cases one wants to quickly relax a loop. This can be useful to close
 small gaps in the backbone or resolve the most severe clashes. The
-<a class="reference internal" href="#promod3.modelling.BackboneRelaxer" title="promod3.modelling.BackboneRelaxer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneRelaxer</span></code></a> internally sets up a topology for the input loop.
+<a class="reference internal" href="#id3" title="promod3.modelling.BackboneRelaxer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneRelaxer</span></code></a> internally sets up a topology for the input loop.
 Once setup, every loop of the same length and sequence can be relaxed by
 the relaxer.</p>
-<dl class="class">
-<dt id="promod3.modelling.BackboneRelaxer">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">BackboneRelaxer</code><span class="sig-paren">(</span><em>bb_list</em>, <em>ff</em>, <em>fix_nterm=True</em>, <em>fix_cterm=True</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BackboneRelaxer" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.BackboneRelaxer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">BackboneRelaxer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bb_list</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ff</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fix_nterm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fix_cterm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BackboneRelaxer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sets up a molecular mechanics topology for given <em>bb_list</em>. Every
 <a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a> of same length and sequence can then be
 relaxed. The parametrization is taken from <em>ff</em>, simply neglecting all
 interactions to non backbone atoms. The electrostatics get neglected
 completely by setting all charges to 0.0.</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>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Basis for topology creation</li>
-<li><strong>ff</strong> (<a class="reference internal" href="../loop/mm_system_creation.html#promod3.loop.ForcefieldLookup" title="promod3.loop.ForcefieldLookup"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.ForcefieldLookup</span></code></a>) – Source for parametrization</li>
-<li><strong>fix_nterm</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether N-terminal backbone positions (N, CA, CB) should
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Basis for topology creation</p></li>
+<li><p><strong>ff</strong> (<a class="reference internal" href="../loop/mm_system_creation.html#promod3.loop.ForcefieldLookup" title="promod3.loop.ForcefieldLookup"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.ForcefieldLookup</span></code></a>) – Source for parametrization</p></li>
+<li><p><strong>fix_nterm</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether N-terminal backbone positions (N, CA, CB) should
 be kept rigid during relaxation
-(C and O are left to move).</li>
-<li><strong>fix_cterm</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether C-terminal backbone positions (CA, CB, C, O)
+(C and O are left to move).</p></li>
+<li><p><strong>fix_cterm</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether C-terminal backbone positions (CA, CB, C, O)
 should be kept rigid during relaxation
-(N is left to move).</li>
+(N is left to move).</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="class">
-<dt>
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">BackboneRelaxer</code><span class="sig-paren">(</span><em>bb_list</em>, <em>density</em>, <em>resolution</em>, <em>fix_nterm=True</em>, <em>fix_cterm=True</em><span class="sig-paren">)</span></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="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Basis for topology creation</li>
-<li><strong>fix_nterm</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether N-terminal backbone positions (N, CA, CB) should
-be kept rigid during relaxation.</li>
-<li><strong>fix_cterm</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether C-terminal backbone positions (CA, CB, C, O)
-should be kept rigid during relaxation.</li>
+<dl class="py class">
+<dt class="sig sig-object py" id="id3">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">BackboneRelaxer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bb_list</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">density</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resolution</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fix_nterm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fix_cterm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id3" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Basis for topology creation</p></li>
+<li><p><strong>fix_nterm</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether N-terminal backbone positions (N, CA, CB) should
+be kept rigid during relaxation.</p></li>
+<li><p><strong>fix_cterm</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether C-terminal backbone positions (CA, CB, C, O)
+should be kept rigid during relaxation.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if size of <em>bb_list</em> is below 2</p>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.modelling.BackboneRelaxer.Run">
-<code class="descname">Run</code><span class="sig-paren">(</span><em>bb_list</em>, <em>steps=100</em>, <em>stop_criterion=0.01</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BackboneRelaxer.Run" title="Permalink to this definition">¶</a></dt>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if size of <em>bb_list</em> is below 2</p>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.BackboneRelaxer.Run">
+<span class="sig-name descname"><span class="pre">Run</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bb_list</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">steps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">stop_criterion</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.01</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BackboneRelaxer.Run" title="Permalink to this definition">¶</a></dt>
 <dd><p>Performs steepest descent on given BackboneList. The function possibly fails
 if there are particles (almost) on top of each other, resulting in NaN
 positions in the OpenMM system. The positions of <strong>bb_list</strong> are not touched
 in this case and the function returns an infinit potential energy.
 In Python you can check for that with float(“inf”).</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>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – To be relaxed</li>
-<li><strong>steps</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – number of steepest descent steps</li>
-<li><strong>stop_criterion</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – If maximum force acting on a particle
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – To be relaxed</p></li>
+<li><p><strong>steps</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – number of steepest descent steps</p></li>
+<li><p><strong>stop_criterion</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – If maximum force acting on a particle
 falls below that threshold, the
-relaxation aborts.</li>
+relaxation aborts.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Forcefield energy upon relaxation, infinity in case of OpenMM Error</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</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"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>bb_list</em> has not the same
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Forcefield energy upon relaxation, infinity in case of OpenMM Error</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>bb_list</em> has not the same
 size or sequence as the initial one.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.BackboneRelaxer.AddNRestraint">
-<code class="descname">AddNRestraint</code><span class="sig-paren">(</span><em>idx</em>, <em>pos</em>, <em>force_constant=100000</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BackboneRelaxer.AddNRestraint" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.BackboneRelaxer.AddNRestraint">
+<span class="sig-name descname"><span class="pre">AddNRestraint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">idx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">force_constant</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100000</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BackboneRelaxer.AddNRestraint" title="Permalink to this definition">¶</a></dt>
 <dd><p>Adds harmonic position restraint for nitrogen atom at specified residue</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>idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of residue</li>
-<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – Restraint Position (in Angstrom)</li>
-<li><strong>force_constant</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Force constant in kJ/mol/nm^2</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of residue</p></li>
+<li><p><strong>pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – Restraint Position (in Angstrom)</p></li>
+<li><p><strong>force_constant</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Force constant in kJ/mol/nm^2</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>idx</em> is too large</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>idx</em> is too large</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.BackboneRelaxer.AddCARestraint">
-<code class="descname">AddCARestraint</code><span class="sig-paren">(</span><em>idx</em>, <em>pos</em>, <em>force_constant=100000</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BackboneRelaxer.AddCARestraint" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.BackboneRelaxer.AddCARestraint">
+<span class="sig-name descname"><span class="pre">AddCARestraint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">idx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">force_constant</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100000</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BackboneRelaxer.AddCARestraint" title="Permalink to this definition">¶</a></dt>
 <dd><p>Adds harmonic position restraint for CA atom at specified residue</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>idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of residue</li>
-<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – Restraint Position (in Angstrom)</li>
-<li><strong>force_constant</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Force constant in kJ/mol/nm^2</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of residue</p></li>
+<li><p><strong>pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – Restraint Position (in Angstrom)</p></li>
+<li><p><strong>force_constant</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Force constant in kJ/mol/nm^2</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>idx</em> is too large</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>idx</em> is too large</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.BackboneRelaxer.AddCBRestraint">
-<code class="descname">AddCBRestraint</code><span class="sig-paren">(</span><em>idx</em>, <em>pos</em>, <em>force_constant=100000</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BackboneRelaxer.AddCBRestraint" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.BackboneRelaxer.AddCBRestraint">
+<span class="sig-name descname"><span class="pre">AddCBRestraint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">idx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">force_constant</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100000</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BackboneRelaxer.AddCBRestraint" title="Permalink to this definition">¶</a></dt>
 <dd><p>Adds harmonic position restraint for CB atom at specified residue,
 doesn’t do anything if specified residue is a glycine</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>idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of residue</li>
-<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – Restraint Position (in Angstrom)</li>
-<li><strong>force_constant</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Force constant in kJ/mol/nm^2</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of residue</p></li>
+<li><p><strong>pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – Restraint Position (in Angstrom)</p></li>
+<li><p><strong>force_constant</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Force constant in kJ/mol/nm^2</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>idx</em> is too large</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>idx</em> is too large</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.BackboneRelaxer.AddCRestraint">
-<code class="descname">AddCRestraint</code><span class="sig-paren">(</span><em>idx</em>, <em>pos</em>, <em>force_constant=100000</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BackboneRelaxer.AddCRestraint" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.BackboneRelaxer.AddCRestraint">
+<span class="sig-name descname"><span class="pre">AddCRestraint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">idx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">force_constant</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100000</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BackboneRelaxer.AddCRestraint" title="Permalink to this definition">¶</a></dt>
 <dd><p>Adds harmonic position restraint for C atom at specified residue</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>idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of residue</li>
-<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – Restraint Position (in Angstrom)</li>
-<li><strong>force_constant</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Force constant in kJ/mol/nm^2</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of residue</p></li>
+<li><p><strong>pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – Restraint Position (in Angstrom)</p></li>
+<li><p><strong>force_constant</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Force constant in kJ/mol/nm^2</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>idx</em> is too large</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>idx</em> is too large</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.BackboneRelaxer.AddORestraint">
-<code class="descname">AddORestraint</code><span class="sig-paren">(</span><em>idx</em>, <em>pos</em>, <em>force_constant=100000</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BackboneRelaxer.AddORestraint" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.BackboneRelaxer.AddORestraint">
+<span class="sig-name descname"><span class="pre">AddORestraint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">idx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">force_constant</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100000</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BackboneRelaxer.AddORestraint" title="Permalink to this definition">¶</a></dt>
 <dd><p>Adds harmonic position restraint for O atom at specified residue</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>idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of residue</li>
-<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – Restraint Position (in Angstrom)</li>
-<li><strong>force_constant</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Force constant in kJ/mol/nm^2</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx of residue</p></li>
+<li><p><strong>pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – Restraint Position (in Angstrom)</p></li>
+<li><p><strong>force_constant</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Force constant in kJ/mol/nm^2</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>idx</em> is too large</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>idx</em> is too large</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.BackboneRelaxer.SetNonBondedCutoff">
-<code class="descname">SetNonBondedCutoff</code><span class="sig-paren">(</span><em>nonbonded_cutoff</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BackboneRelaxer.SetNonBondedCutoff" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.BackboneRelaxer.SetNonBondedCutoff">
+<span class="sig-name descname"><span class="pre">SetNonBondedCutoff</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">nonbonded_cutoff</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BackboneRelaxer.SetNonBondedCutoff" title="Permalink to this definition">¶</a></dt>
 <dd><p>Defines cutoff to set for non bonded interactions. By default, all atom-
 pairs are compared which is the fastest for small backbones (e.g. in
 <a class="reference internal" href="pipeline.html#promod3.modelling.CloseSmallDeletions" title="promod3.modelling.CloseSmallDeletions"><code class="xref py py-meth docutils literal notranslate"><span class="pre">CloseSmallDeletions()</span></code></a>). Otherwise, a cutoff around 5 is reasonable as
 we ignore electrostatics.</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>nonbonded_cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Cutoff to set for non bonded interactions. Negative
-means no cutoff.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>nonbonded_cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Cutoff to set for non bonded interactions. Negative
+means no cutoff.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.BackboneRelaxer.GetNonBondedCutoff">
-<code class="descname">GetNonBondedCutoff</code><span class="sig-paren">(</span><em>nonbonded_cutoff</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BackboneRelaxer.GetNonBondedCutoff" 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">Cutoff for non bonded interactions.</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.BackboneRelaxer.GetNonBondedCutoff">
+<span class="sig-name descname"><span class="pre">GetNonBondedCutoff</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">nonbonded_cutoff</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BackboneRelaxer.GetNonBondedCutoff" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Cutoff for non bonded interactions.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="relaxing-all-atom-loops">
-<h2>Relaxing All Atom Loops<a class="headerlink" href="#relaxing-all-atom-loops" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="relaxing-all-atom-loops">
+<h2>Relaxing All Atom Loops<a class="headerlink" href="#relaxing-all-atom-loops" title="Permalink to this heading">¶</a></h2>
 <p>After the reconstruction of loop sidechains with the
 <a class="reference internal" href="sidechain_reconstruction.html#promod3.modelling.SidechainReconstructor.Reconstruct" title="promod3.modelling.SidechainReconstructor.Reconstruct"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Reconstruct()</span></code></a> method of
 <a class="reference internal" href="sidechain_reconstruction.html#promod3.modelling.SidechainReconstructor" title="promod3.modelling.SidechainReconstructor"><code class="xref py py-class docutils literal notranslate"><span class="pre">SidechainReconstructor</span></code></a>, it may be desired to
 quickly relax the loop. The <a class="reference internal" href="#promod3.modelling.AllAtomRelaxer" title="promod3.modelling.AllAtomRelaxer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomRelaxer</span></code></a> class takes care of that.</p>
 <p>Example usage:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">modelling</span><span class="p">,</span> <span class="n">loop</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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="p">,</span> <span class="n">loop</span>
 
 <span class="c1"># load example (has res. numbering starting at 1)</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="s1">&#39;data/1CRN.pdb&#39;</span><span class="p">)</span>
@@ -490,100 +440,89 @@ quickly relax the loop. The <a class="reference internal" href="#promod3.modelli
 <span class="n">io</span><span class="o">.</span><span class="n">SavePDB</span><span class="p">(</span><span class="n">env</span><span class="o">.</span><span class="n">GetAllAtomPositions</span><span class="p">()</span><span class="o">.</span><span class="n">ToEntity</span><span class="p">(),</span> <span class="s1">&#39;aa_relax_test.pdb&#39;</span><span class="p">)</span>
 </pre></div>
 </div>
-<dl class="class">
-<dt id="promod3.modelling.AllAtomRelaxer">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">AllAtomRelaxer</code><span class="sig-paren">(</span><em>sc_data</em>, <em>mm_system_creator</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.AllAtomRelaxer" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.AllAtomRelaxer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">AllAtomRelaxer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sc_data</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mm_system_creator</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.AllAtomRelaxer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Setup relaxer for a given sidechain reconstruction result and a given MM
 system creator, which takes care of generating a simulation object.</p>
 <p>N/C stems of loop are fixed if they are non-terminal.</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>sc_data</strong> (<a class="reference internal" href="sidechain_reconstruction.html#promod3.modelling.SidechainReconstructionData" title="promod3.modelling.SidechainReconstructionData"><code class="xref py py-class docutils literal notranslate"><span class="pre">SidechainReconstructionData</span></code></a>) – Sidechain reconstruction result</li>
-<li><strong>mm_system_creator</strong> (<a class="reference internal" href="../loop/mm_system_creation.html#promod3.loop.MmSystemCreator" title="promod3.loop.MmSystemCreator"><code class="xref py py-class docutils literal notranslate"><span class="pre">MmSystemCreator</span></code></a>) – System creator to be used here</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>sc_data</strong> (<a class="reference internal" href="sidechain_reconstruction.html#promod3.modelling.SidechainReconstructionData" title="promod3.modelling.SidechainReconstructionData"><code class="xref py py-class docutils literal notranslate"><span class="pre">SidechainReconstructionData</span></code></a>) – Sidechain reconstruction result</p></li>
+<li><p><strong>mm_system_creator</strong> (<a class="reference internal" href="../loop/mm_system_creation.html#promod3.loop.MmSystemCreator" title="promod3.loop.MmSystemCreator"><code class="xref py py-class docutils literal notranslate"><span class="pre">MmSystemCreator</span></code></a>) – System creator to be used here</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.modelling.AllAtomRelaxer.Run">
-<code class="descname">Run</code><span class="sig-paren">(</span><em>sc_data</em>, <em>steps=100</em>, <em>stop_criterion=0.01</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.AllAtomRelaxer.Run" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.AllAtomRelaxer.Run">
+<span class="sig-name descname"><span class="pre">Run</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sc_data</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">steps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">stop_criterion</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.01</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.AllAtomRelaxer.Run" title="Permalink to this definition">¶</a></dt>
 <dd><p>Performs steepest descent for this system and writes updated positions into
 <em>sc_data.env_pos.all_pos</em>. The function possibly fails
 if there are particles (almost) on top of each other, resulting in NaN
 positions in the OpenMM system. The positions of <em>sc_data.env_pos.all_pos</em>
 are not touched in this case and the function returns an infinit potential
 energy. In Python you can check for that with float(“inf”).</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>sc_data</strong> (<a class="reference internal" href="sidechain_reconstruction.html#promod3.modelling.SidechainReconstructionData" title="promod3.modelling.SidechainReconstructionData"><code class="xref py py-class docutils literal notranslate"><span class="pre">SidechainReconstructionData</span></code></a>) – Sidechain reconstruction result to be updated</li>
-<li><strong>steps</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of steepest descent steps</li>
-<li><strong>stop_criterion</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – If maximum force acting on a particle falls below
-that threshold, the relaxation aborts.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>sc_data</strong> (<a class="reference internal" href="sidechain_reconstruction.html#promod3.modelling.SidechainReconstructionData" title="promod3.modelling.SidechainReconstructionData"><code class="xref py py-class docutils literal notranslate"><span class="pre">SidechainReconstructionData</span></code></a>) – Sidechain reconstruction result to be updated</p></li>
+<li><p><strong>steps</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of steepest descent steps</p></li>
+<li><p><strong>stop_criterion</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – If maximum force acting on a particle falls below
+that threshold, the relaxation aborts.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Potential energy after relaxation, infinity in case of OpenMM Error</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</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"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>sc_data</em> is incompatible with
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Potential energy after relaxation, infinity in case of OpenMM Error</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>sc_data</em> is incompatible with
 the one given in the constructor.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.AllAtomRelaxer.UpdatePositions">
-<code class="descname">UpdatePositions</code><span class="sig-paren">(</span><em>sc_data</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.AllAtomRelaxer.UpdatePositions" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.AllAtomRelaxer.UpdatePositions">
+<span class="sig-name descname"><span class="pre">UpdatePositions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sc_data</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.AllAtomRelaxer.UpdatePositions" title="Permalink to this definition">¶</a></dt>
 <dd><p>Resets simulation positions to a new set of positions. It is assumed that
 this <em>sc_data</em> object has the same amino acids as loops and surrounding and
 the same disulfid bridges as the one given in the constructor.</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>sc_data</strong> (<a class="reference internal" href="sidechain_reconstruction.html#promod3.modelling.SidechainReconstructionData" title="promod3.modelling.SidechainReconstructionData"><code class="xref py py-class docutils literal notranslate"><span class="pre">SidechainReconstructionData</span></code></a>) – Get new positions from <em>sc_data.env_pos.all_pos</em></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>sc_data</em> is incompatible with
-the one given in the constructor.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>sc_data</strong> (<a class="reference internal" href="sidechain_reconstruction.html#promod3.modelling.SidechainReconstructionData" title="promod3.modelling.SidechainReconstructionData"><code class="xref py py-class docutils literal notranslate"><span class="pre">SidechainReconstructionData</span></code></a>) – Get new positions from <em>sc_data.env_pos.all_pos</em></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>sc_data</em> is incompatible with
+the one given in the constructor.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.AllAtomRelaxer.GetSystemCreator">
-<code class="descname">GetSystemCreator</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.AllAtomRelaxer.GetSystemCreator" 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">MM system creator passed in the constructor</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="../loop/mm_system_creation.html#promod3.loop.MmSystemCreator" title="promod3.loop.MmSystemCreator"><code class="xref py py-class docutils literal notranslate"><span class="pre">MmSystemCreator</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.AllAtomRelaxer.GetSystemCreator">
+<span class="sig-name descname"><span class="pre">GetSystemCreator</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.AllAtomRelaxer.GetSystemCreator" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>MM system creator passed in the constructor</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="../loop/mm_system_creation.html#promod3.loop.MmSystemCreator" title="promod3.loop.MmSystemCreator"><code class="xref py py-class docutils literal notranslate"><span class="pre">MmSystemCreator</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -604,12 +543,12 @@ the one given in the constructor.</td>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -626,7 +565,7 @@ the one given in the constructor.</td>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a><ul>
       <li>Previous: <a href="loop_candidates.html" title="previous chapter">Handling Loop Candidates</a></li>
       <li>Next: <a href="monte_carlo.html" title="next chapter">Generating Loops De Novo</a></li>
   </ul></li>
@@ -635,27 +574,33 @@ the one given in the constructor.</td>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/modelling/loop_closing.rst.txt"
diff --git a/doc/html/modelling/model_checking.html b/doc/html/modelling/model_checking.html
index 1aa89625db4cab9f530968c7f17a7fbae8967f56..9f2c99a9297fb110f45533616f50572a128b1d85 100644
--- a/doc/html/modelling/model_checking.html
+++ b/doc/html/modelling/model_checking.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Model Checking &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Model Checking &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Handling Gaps" href="gap_handling.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,119 +31,107 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="model-checking">
-<h1>Model Checking<a class="headerlink" href="#model-checking" title="Permalink to this headline">¶</a></h1>
+  <section id="model-checking">
+<h1>Model Checking<a class="headerlink" href="#model-checking" title="Permalink to this heading">¶</a></h1>
 <p>This chapter describes additional functionality to check models. Some of this
 functionality is used within the modelling pipeline.</p>
-<div class="section" id="detecting-ring-punches">
-<h2>Detecting Ring Punches<a class="headerlink" href="#detecting-ring-punches" title="Permalink to this headline">¶</a></h2>
-<dl class="function">
-<dt id="promod3.modelling.GetRings">
-<code class="descclassname">promod3.modelling.</code><code class="descname">GetRings</code><span class="sig-paren">(</span><em>ent</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.GetRings" title="Permalink to this definition">¶</a></dt>
+<section id="detecting-ring-punches">
+<h2>Detecting Ring Punches<a class="headerlink" href="#detecting-ring-punches" title="Permalink to this heading">¶</a></h2>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.GetRings">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">GetRings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ent</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.GetRings" title="Permalink to this definition">¶</a></dt>
 <dd><p>Get rings for a protein structure.
 A ring is only added if all ring-atoms exist or if it is a proline and
 three of the atoms exist (center and radii are estimated then).</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>ent</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityHandle</span></code></a> or <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityView</span></code></a>) – Structure for which to detect rings.</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of rings to perform ring checks. Each ring is a named
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>ent</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityHandle</span></code></a> or <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityView</span></code></a>) – Structure for which to detect rings.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of rings to perform ring checks. Each ring is a named
 tuple with:
-center (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>),
-plane (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/composite/#ost.geom.Plane" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Plane</span></code></a>),
-radius (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>),
-residue (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ResidueHandle</span></code></a>).</td>
-</tr>
-</tbody>
-</table>
+center (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Vec3</span></code></a>),
+plane (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/composite/#ost.geom.Plane" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Plane</span></code></a>),
+radius (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>),
+residue (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ResidueHandle</span></code></a>).</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.GetRingPunches">
-<code class="descclassname">promod3.modelling.</code><code class="descname">GetRingPunches</code><span class="sig-paren">(</span><em>rings</em>, <em>ent</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.GetRingPunches" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.GetRingPunches">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">GetRingPunches</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rings</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ent</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.GetRingPunches" title="Permalink to this definition">¶</a></dt>
 <dd><p>Get list of residues with rings that are punched by the given 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">Parameters:</th><td class="field-body"><ul class="first simple">
-<li><strong>rings</strong> – List of rings as provided by <a class="reference internal" href="#promod3.modelling.GetRings" title="promod3.modelling.GetRings"><code class="xref py py-func docutils literal notranslate"><span class="pre">GetRings()</span></code></a>.</li>
-<li><strong>ent</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityHandle</span></code></a> or <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityView</span></code></a>) – Structure for which to detect punches.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>rings</strong> – List of rings as provided by <a class="reference internal" href="#promod3.modelling.GetRings" title="promod3.modelling.GetRings"><code class="xref py py-func docutils literal notranslate"><span class="pre">GetRings()</span></code></a>.</p></li>
+<li><p><strong>ent</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityHandle</span></code></a> or <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityView</span></code></a>) – Structure for which to detect punches.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of residues (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ResidueHandle</span></code></a>) which
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of residues (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ResidueHandle</span></code></a>) which
 have a punched ring.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.HasRingPunches">
-<code class="descclassname">promod3.modelling.</code><code class="descname">HasRingPunches</code><span class="sig-paren">(</span><em>rings</em>, <em>ent</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.HasRingPunches" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.HasRingPunches">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">HasRingPunches</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rings</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ent</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.HasRingPunches" title="Permalink to this definition">¶</a></dt>
 <dd><p>Check if any ring is punched by the given structure.
 This check is faster than using <a class="reference internal" href="#promod3.modelling.GetRingPunches" title="promod3.modelling.GetRingPunches"><code class="xref py py-func docutils literal notranslate"><span class="pre">GetRingPunches()</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 simple">
-<li><strong>rings</strong> – List of rings as provided by <a class="reference internal" href="#promod3.modelling.GetRings" title="promod3.modelling.GetRings"><code class="xref py py-func docutils literal notranslate"><span class="pre">GetRings()</span></code></a>.</li>
-<li><strong>ent</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityHandle</span></code></a> or <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityView</span></code></a>) – Structure for which to detect punches.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>rings</strong> – List of rings as provided by <a class="reference internal" href="#promod3.modelling.GetRings" title="promod3.modelling.GetRings"><code class="xref py py-func docutils literal notranslate"><span class="pre">GetRings()</span></code></a>.</p></li>
+<li><p><strong>ent</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityHandle</span></code></a> or <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityView</span></code></a>) – Structure for which to detect punches.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">True, iff any ring is punched</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="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>True, iff any ring is punched</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.FilterCandidates">
-<code class="descclassname">promod3.modelling.</code><code class="descname">FilterCandidates</code><span class="sig-paren">(</span><em>candidates</em>, <em>model</em>, <em>gap</em>, <em>orig_indices=[]</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FilterCandidates" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.FilterCandidates">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">FilterCandidates</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">candidates</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">model</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gap</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">orig_indices</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[]</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FilterCandidates" title="Permalink to this definition">¶</a></dt>
 <dd><p>Remove loop candidates if they cause ring punches.</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>candidates</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">LoopCandidates</span></code>) – Loop candidates meant to fill <em>gap</em> within <em>model</em>.
-Offending candidates are removed from this list.</li>
-<li><strong>model</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityHandle</span></code></a>) – Model for which loop is to be filled.</li>
-<li><strong>gap</strong> (<a class="reference internal" href="gap_handling.html#promod3.modelling.StructuralGap" title="promod3.modelling.StructuralGap"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructuralGap</span></code></a>.) – Gap for which loop is to be filled.</li>
-<li><strong>orig_indices</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – Mapping to old indexing of candidates. If given, it
-must have as many elements as <em>candidates</em>.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>candidates</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">LoopCandidates</span></code>) – Loop candidates meant to fill <em>gap</em> within <em>model</em>.
+Offending candidates are removed from this list.</p></li>
+<li><p><strong>model</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityHandle</span></code></a>) – Model for which loop is to be filled.</p></li>
+<li><p><strong>gap</strong> (<a class="reference internal" href="gap_handling.html#promod3.modelling.StructuralGap" title="promod3.modelling.StructuralGap"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructuralGap</span></code></a>.) – Gap for which loop is to be filled.</p></li>
+<li><p><strong>orig_indices</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – Mapping to old indexing of candidates. If given, it
+must have as many elements as <em>candidates</em>.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.FilterCandidatesWithSC">
-<code class="descclassname">promod3.modelling.</code><code class="descname">FilterCandidatesWithSC</code><span class="sig-paren">(</span><em>candidates</em>, <em>model</em>, <em>gap</em>, <em>orig_indices=[]</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FilterCandidatesWithSC" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.FilterCandidatesWithSC">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">FilterCandidatesWithSC</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">candidates</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">model</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gap</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">orig_indices</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[]</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FilterCandidatesWithSC" title="Permalink to this definition">¶</a></dt>
 <dd><p>Remove loop candidates if they (with sidechain) cause ring punches.
 See <a class="reference internal" href="#promod3.modelling.FilterCandidates" title="promod3.modelling.FilterCandidates"><code class="xref py py-func docutils literal notranslate"><span class="pre">FilterCandidates()</span></code></a>.</p>
 </dd></dl>
 
-</div>
-<div class="section" id="detecting-non-planar-rings">
-<h2>Detecting Non-Planar Rings<a class="headerlink" href="#detecting-non-planar-rings" title="Permalink to this headline">¶</a></h2>
-<dl class="function">
-<dt id="promod3.modelling.GetNonPlanarRings">
-<code class="descclassname">promod3.modelling.</code><code class="descname">GetNonPlanarRings</code><span class="sig-paren">(</span><em>ent</em>, <em>max_dist_thresh=0.1</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.GetNonPlanarRings" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="detecting-non-planar-rings">
+<h2>Detecting Non-Planar Rings<a class="headerlink" href="#detecting-non-planar-rings" title="Permalink to this heading">¶</a></h2>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.GetNonPlanarRings">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">GetNonPlanarRings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ent</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_dist_thresh</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.1</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.GetNonPlanarRings" title="Permalink to this definition">¶</a></dt>
 <dd><p>Get list of residues with rings that non-planar in the given structure.</p>
 <p>Only residues with res.one_letter_code in [‘Y’, ‘F’, ‘W’, ‘H’] that contain
 all expected ring atoms are considered.</p>
@@ -157,60 +146,52 @@ decomposition algorithm.</p>
 distances on the same non-redundant set of experimental structures as
 ProMod3 used to derive its rotamer libraries, 99.9 % of the residues are
 within 0.065 (HIS), 0.075 (TRP), 0.057 (TYR), 0.060 (PHE).</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>ent</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityHandle</span></code></a> or <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityView</span></code></a>) – Structure for which to detect non-planar rings.</li>
-<li><strong>max_dist_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – A residue that contains a ring is considered
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>ent</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityHandle</span></code></a> or <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityView</span></code></a>) – Structure for which to detect non-planar rings.</p></li>
+<li><p><strong>max_dist_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – A residue that contains a ring is considered
 non-planar if the max distance of any ring-atom to
-the optimal ring plane is above this threshold.</li>
+the optimal ring plane is above this threshold.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of residues (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ResidueHandle</span></code></a>/
-<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueView" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ResidueView</span></code></a>) which have a non-planar ring.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of residues (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ResidueHandle</span></code></a>/
+<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueView" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ResidueView</span></code></a>) which have a non-planar ring.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.HasNonPlanarRings">
-<code class="descclassname">promod3.modelling.</code><code class="descname">HasNonPlanarRings</code><span class="sig-paren">(</span><em>ent</em>, <em>max_dist_thresh=0.1</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.HasNonPlanarRings" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.HasNonPlanarRings">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">HasNonPlanarRings</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ent</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_dist_thresh</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.1</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.HasNonPlanarRings" title="Permalink to this definition">¶</a></dt>
 <dd><p>Check if any ring is non-planar in the given structure.</p>
 <p>Calls <a class="reference internal" href="#promod3.modelling.GetNonPlanarRings" title="promod3.modelling.GetNonPlanarRings"><code class="xref py py-func docutils literal notranslate"><span class="pre">GetNonPlanarRings()</span></code></a> with given parameters and returns if any
 residue is considered non-planar.</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>ent</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityHandle</span></code></a> or <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityView</span></code></a>) – Structure for which to detect non-planar rings</li>
-<li><strong>max_dist_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – A residue that contains a ring is considered
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>ent</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityHandle</span></code></a> or <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityView</span></code></a>) – Structure for which to detect non-planar rings</p></li>
+<li><p><strong>max_dist_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – A residue that contains a ring is considered
 non-planar if the max distance of any ring-atom to
-the optimal ring plane is above this threshold.</li>
+the optimal ring plane is above this threshold.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">True, if any ring is non-planar</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="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>True, if any ring is non-planar</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="model-checking-with-molprobity">
-<h2>Model Checking With MolProbity<a class="headerlink" href="#model-checking-with-molprobity" title="Permalink to this headline">¶</a></h2>
-<dl class="function">
-<dt id="promod3.modelling.RunMolProbity">
-<code class="descclassname">promod3.modelling.</code><code class="descname">RunMolProbity</code><span class="sig-paren">(</span><em>target_pdb</em>, <em>molprobity_bin=None</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.RunMolProbity" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="model-checking-with-molprobity">
+<h2>Model Checking With MolProbity<a class="headerlink" href="#model-checking-with-molprobity" title="Permalink to this heading">¶</a></h2>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.RunMolProbity">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">RunMolProbity</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">target_pdb</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">molprobity_bin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.RunMolProbity" title="Permalink to this definition">¶</a></dt>
 <dd><p>Run <code class="docutils literal notranslate"><span class="pre">MolProbity</span></code> from <code class="docutils literal notranslate"><span class="pre">Phenix</span></code> on a given PDB file.</p>
 <p>MolProbity score computation: (formula from molprobity source code)</p>
 <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">clashscore</span> <span class="o">=</span> <span class="n">result</span><span class="p">[</span><span class="s2">&quot;Clashscore&quot;</span><span class="p">]</span>
@@ -221,79 +202,70 @@ the optimal ring plane is above this threshold.</li>
          <span class="p">(</span> <span class="mf">0.25</span> <span class="o">*</span> <span class="n">math</span><span class="o">.</span><span class="n">log</span><span class="p">(</span><span class="mi">1</span> <span class="o">+</span> <span class="nb">max</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">rama_iffy</span> <span class="o">-</span> <span class="mi">2</span><span class="p">))</span> <span class="p">))</span> <span class="o">+</span> <span class="mf">0.5</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>target_pdb</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to PDB file on which to do analysis.</li>
-<li><strong>molprobity_bin</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to <code class="docutils literal notranslate"><span class="pre">phenix.molprobity</span></code> executable. If None, it
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>target_pdb</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to PDB file on which to do analysis.</p></li>
+<li><p><strong>molprobity_bin</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to <code class="docutils literal notranslate"><span class="pre">phenix.molprobity</span></code> executable. If None, it
 searches for it in the <code class="docutils literal notranslate"><span class="pre">PATH</span></code> or (if set) in the
 env. variable <code class="docutils literal notranslate"><span class="pre">MOLPROBITY_EXECUTABLE</span></code>.
 The function was tested with <code class="docutils literal notranslate"><span class="pre">Phenix</span> <span class="pre">1.9-1692</span></code> and
-with <code class="docutils literal notranslate"><span class="pre">MolProbity</span> <span class="pre">4.2</span></code> which also includes it.</li>
+with <code class="docutils literal notranslate"><span class="pre">MolProbity</span> <span class="pre">4.2</span></code> which also includes it.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first"><p>Dictionary with scores produced by MolProbity. Entries:</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><p>Dictionary with scores produced by MolProbity. Entries:</p>
 <ul class="simple">
-<li>”Ramachandran outliers” (percentage [0,100] as <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)</li>
-<li>”Ramachandran favored” (percentage [0,100] as <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)</li>
-<li>”Rotamer outliers” (percentage [0,100] as <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)</li>
-<li>”C-beta deviations” (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>)</li>
-<li>”Clashscore” (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)</li>
-<li>”MolProbity score” (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)</li>
-<li>”RMS(bonds)” (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)</li>
-<li>”RMS(angles)” (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)</li>
+<li><p>”Ramachandran outliers” (percentage [0,100] as <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)</p></li>
+<li><p>”Ramachandran favored” (percentage [0,100] as <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)</p></li>
+<li><p>”Rotamer outliers” (percentage [0,100] as <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)</p></li>
+<li><p>”C-beta deviations” (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>)</p></li>
+<li><p>”Clashscore” (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)</p></li>
+<li><p>”MolProbity score” (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)</p></li>
+<li><p>”RMS(bonds)” (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)</p></li>
+<li><p>”RMS(angles)” (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)</p></li>
 </ul>
 </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/3.7/library/stdtypes.html#dict" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</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 class="reference external" href="https://www.openstructure.org/docs/2.4/base/settings/#ost.settings.FileNotFound" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">FileNotFound</span></code></a> if the “phenix.molprobity”
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#dict" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/base/settings/#ost.settings.FileNotFound" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">FileNotFound</span></code></a> if the “phenix.molprobity”
 executable is not found.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.RunMolProbityEntity">
-<code class="descclassname">promod3.modelling.</code><code class="descname">RunMolProbityEntity</code><span class="sig-paren">(</span><em>ost_ent</em>, <em>molprobity_bin=None</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.RunMolProbityEntity" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.RunMolProbityEntity">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">RunMolProbityEntity</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ost_ent</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">molprobity_bin</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.RunMolProbityEntity" title="Permalink to this definition">¶</a></dt>
 <dd><p>Run molprobity from phenix on given OST entity.</p>
 <p>See <a class="reference internal" href="#promod3.modelling.RunMolProbity" title="promod3.modelling.RunMolProbity"><code class="xref py py-func docutils literal notranslate"><span class="pre">RunMolProbity()</span></code></a> for details.</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>ost_ent</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Entity</span></code></a>) – OST entity on which to do analysis.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>ost_ent</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Entity</span></code></a>) – OST entity on which to do analysis.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.ReportMolProbityScores">
-<code class="descclassname">promod3.modelling.</code><code class="descname">ReportMolProbityScores</code><span class="sig-paren">(</span><em>scores</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ReportMolProbityScores" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.ReportMolProbityScores">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">ReportMolProbityScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">scores</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ReportMolProbityScores" title="Permalink to this definition">¶</a></dt>
 <dd><p>Print MolProbity score and its components to LogInfo.</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>scores</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#dict" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a>) – MolProbity scores as generated by <a class="reference internal" href="#promod3.modelling.RunMolProbity" title="promod3.modelling.RunMolProbity"><code class="xref py py-func docutils literal notranslate"><span class="pre">RunMolProbity()</span></code></a>.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>scores</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#dict" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a>) – MolProbity scores as generated by <a class="reference internal" href="#promod3.modelling.RunMolProbity" title="promod3.modelling.RunMolProbity"><code class="xref py py-func docutils literal notranslate"><span class="pre">RunMolProbity()</span></code></a>.</p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -314,12 +286,12 @@ executable is not found.</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -336,7 +308,7 @@ executable is not found.</p>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a><ul>
       <li>Previous: <a href="pipeline.html" title="previous chapter">Modelling Pipeline</a></li>
       <li>Next: <a href="gap_handling.html" title="next chapter">Handling Gaps</a></li>
   </ul></li>
@@ -345,27 +317,33 @@ executable is not found.</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/modelling/model_checking.rst.txt"
diff --git a/doc/html/modelling/monte_carlo.html b/doc/html/modelling/monte_carlo.html
index 6d1a98053f0329fd461aea8058aa1efc4d95577e..ab0e337ab6b4fae7e26fdca235dc43fd521a35ad 100644
--- a/doc/html/modelling/monte_carlo.html
+++ b/doc/html/modelling/monte_carlo.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Generating Loops De Novo &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Generating Loops De Novo &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Sidechain Reconstruction" href="sidechain_reconstruction.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,27 +31,29 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="generating-loops-de-novo">
-<h1>Generating Loops De Novo<a class="headerlink" href="#generating-loops-de-novo" title="Permalink to this headline">¶</a></h1>
+  <section id="generating-loops-de-novo">
+<h1>Generating Loops De Novo<a class="headerlink" href="#generating-loops-de-novo" title="Permalink to this heading">¶</a></h1>
 <p>The Monte Carlo capabilities of ProMod3 are mainly targeted at generating de
 novo structure candidates for loops or N-/C-Termini. Every iteration of the
 sampling process consists basically of four steps and we define objects for
 each step:</p>
 <ul class="simple">
-<li><a class="reference internal" href="#mc-sampler-object"><span class="std std-ref">Sampler Object</span></a>: Propose new conformation</li>
-<li><a class="reference internal" href="#mc-closer-object"><span class="std std-ref">Closer Object</span></a>: Adapt new conformation to the environment</li>
-<li><a class="reference internal" href="#mc-scorer-object"><span class="std std-ref">Scorer Object</span></a>: Score the new conformation</li>
-<li><a class="reference internal" href="#mc-cooler-object"><span class="std std-ref">Cooler Object</span></a>: Accept/Reject new conformation based on the score and
-a temperature controlled Metropolis criterion</li>
+<li><p><a class="reference internal" href="#mc-sampler-object"><span class="std std-ref">Sampler Object</span></a>: Propose new conformation</p></li>
+<li><p><a class="reference internal" href="#mc-closer-object"><span class="std std-ref">Closer Object</span></a>: Adapt new conformation to the environment</p></li>
+<li><p><a class="reference internal" href="#mc-scorer-object"><span class="std std-ref">Scorer Object</span></a>: Score the new conformation</p></li>
+<li><p><a class="reference internal" href="#mc-cooler-object"><span class="std std-ref">Cooler Object</span></a>: Accept/Reject new conformation based on the score and
+a temperature controlled Metropolis criterion</p></li>
 </ul>
 <p>These steps can be arbitrarily combined to generate custom Monte Carlo sampling
 pipelines. This combination either happens manually or by using the convenient
 <a class="reference internal" href="#promod3.modelling.SampleMonteCarlo" title="promod3.modelling.SampleMonteCarlo"><code class="xref py py-func docutils literal notranslate"><span class="pre">SampleMonteCarlo()</span></code></a> function. For example, here we show how to apply Monte
 Carlo sampling to the N-terminal part of crambin:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">loop</span><span class="p">,</span> <span class="n">scoring</span><span class="p">,</span> <span class="n">modelling</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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">loop</span><span class="p">,</span> <span class="n">scoring</span><span class="p">,</span> <span class="n">modelling</span>
 <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
 
 <span class="c1"># setup protein</span>
@@ -102,9 +105,9 @@ Carlo sampling to the N-terminal part of crambin:</p>
 <span class="n">io</span><span class="o">.</span><span class="n">SavePDB</span><span class="p">(</span><span class="n">bb_list</span><span class="o">.</span><span class="n">ToEntity</span><span class="p">(),</span> <span class="s2">&quot;sampled_frag.pdb&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
-<dl class="function">
-<dt id="promod3.modelling.SampleMonteCarlo">
-<code class="descclassname">promod3.modelling.</code><code class="descname">SampleMonteCarlo</code><span class="sig-paren">(</span><em>sampler</em>, <em>closer</em>, <em>scorer</em>, <em>cooler</em>, <em>steps</em>, <em>bb_list</em>, <em>initialize</em>, <em>seed=0</em>, <em>lowest_energy_conformation=True</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SampleMonteCarlo" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.SampleMonteCarlo">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">SampleMonteCarlo</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sampler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">closer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scorer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cooler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">steps</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bb_list</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">initialize</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lowest_energy_conformation</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SampleMonteCarlo" title="Permalink to this definition">¶</a></dt>
 <dd><p>A convenient function to perform Monte Carlo sampling using a simulated
 annealing scheme. In every iteration, a new loop conformation gets proposed 
 by the provided <em>sampler</em> and closed by the <em>closer</em>. Upon scoring, this new
@@ -114,233 +117,205 @@ the temperature given by the <em>cooler</em>
 The result is stored in <em>bb_list</em> (passed by reference, so NO return value) 
 and is either the lowest energy conformation ever encountered or the last 
 accepted proposal.</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>sampler</strong> (<a class="reference internal" href="#mc-sampler-object"><span class="std std-ref">Sampler Object</span></a>) – Sampler object capable of initializing and altering
-conformations.</li>
-<li><strong>closer</strong> (<a class="reference internal" href="#mc-closer-object"><span class="std std-ref">Closer Object</span></a>) – Closer object to adapt a new conformation to
-the environment.</li>
-<li><strong>scorer</strong> (<a class="reference internal" href="#mc-scorer-object"><span class="std std-ref">Scorer Object</span></a>) – Scorer object to score new loop conformations.</li>
-<li><strong>cooler</strong> (<a class="reference internal" href="#mc-cooler-object"><span class="std std-ref">Cooler Object</span></a>) – Cooler object to control the temperature of the 
-Monte Carlo trajectory.</li>
-<li><strong>steps</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of Monte Carlo iterations to be performed.</li>
-<li><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The chosen conformation gets stored here.</li>
-<li><strong>initialize</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether a new bb_list should be generated as starting
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>sampler</strong> (<a class="reference internal" href="#mc-sampler-object"><span class="std std-ref">Sampler Object</span></a>) – Sampler object capable of initializing and altering
+conformations.</p></li>
+<li><p><strong>closer</strong> (<a class="reference internal" href="#mc-closer-object"><span class="std std-ref">Closer Object</span></a>) – Closer object to adapt a new conformation to
+the environment.</p></li>
+<li><p><strong>scorer</strong> (<a class="reference internal" href="#mc-scorer-object"><span class="std std-ref">Scorer Object</span></a>) – Scorer object to score new loop conformations.</p></li>
+<li><p><strong>cooler</strong> (<a class="reference internal" href="#mc-cooler-object"><span class="std std-ref">Cooler Object</span></a>) – Cooler object to control the temperature of the 
+Monte Carlo trajectory.</p></li>
+<li><p><strong>steps</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of Monte Carlo iterations to be performed.</p></li>
+<li><p><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The chosen conformation gets stored here.</p></li>
+<li><p><strong>initialize</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether a new bb_list should be generated as starting
 point, based on the samplers Initialize function.
-The input <em>bb_list</em> gets used otherwise.</li>
-<li><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for internal random number generator.</li>
-<li><strong>lowest_energy_conformation</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If True, we choose the lowest scoring
+The input <em>bb_list</em> gets used otherwise.</p></li>
+<li><p><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for internal random number generator.</p></li>
+<li><p><strong>lowest_energy_conformation</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If True, we choose the lowest scoring
 conformation of the trajectory. 
-Otherwise, the last accepted proposal.</li>
+Otherwise, the last accepted proposal.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<div class="section" id="sampler-object">
-<span id="mc-sampler-object"></span><h2>Sampler Object<a class="headerlink" href="#sampler-object" title="Permalink to this headline">¶</a></h2>
+<section id="sampler-object">
+<span id="mc-sampler-object"></span><h2>Sampler Object<a class="headerlink" href="#sampler-object" title="Permalink to this heading">¶</a></h2>
 <p>The sampler objects can be used to generate initial conformations and
 propose new conformations for a sequence of interest. They build the basis
 for any Monte Carlo sampling pipeline. You can either use one of the
 provided samplers or any object that implements the functionality of
 <a class="reference internal" href="#promod3.modelling.SamplerBase" title="promod3.modelling.SamplerBase"><code class="xref py py-class docutils literal notranslate"><span class="pre">SamplerBase</span></code></a>.</p>
-<dl class="class">
-<dt id="promod3.modelling.SamplerBase">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">SamplerBase</code><a class="headerlink" href="#promod3.modelling.SamplerBase" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.SamplerBase">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">SamplerBase</span></span><a class="headerlink" href="#promod3.modelling.SamplerBase" title="Permalink to this definition">¶</a></dt>
 <dd><p>Abstract base class defining the functions that must be implemented by any
 sampler.</p>
-<dl class="method">
-<dt id="promod3.modelling.SamplerBase.Initialize">
-<code class="descname">Initialize</code><span class="sig-paren">(</span><em>bb_list</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SamplerBase.Initialize" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.SamplerBase.Initialize">
+<span class="sig-name descname"><span class="pre">Initialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bb_list</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SamplerBase.Initialize" title="Permalink to this definition">¶</a></dt>
 <dd><p>Supposed to initialize structural information from scratch. The sequence
 of the generated <a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a> is taken from <em>bb_list</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"><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a>) – Passed by reference, so the resulting
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a>) – Passed by reference, so the resulting
 <a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a> is assigned to this
-parameter. Sequence / length stay the same.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">None</td>
-</tr>
-</tbody>
-</table>
+parameter. Sequence / length stay the same.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>None</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.SamplerBase.ProposeStep">
-<code class="descname">ProposeStep</code><span class="sig-paren">(</span><em>actual_positions</em>, <em>proposed_positions</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SamplerBase.ProposeStep" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.SamplerBase.ProposeStep">
+<span class="sig-name descname"><span class="pre">ProposeStep</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">actual_positions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">proposed_positions</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SamplerBase.ProposeStep" title="Permalink to this definition">¶</a></dt>
 <dd><p>Takes current positions and proposes a new conformation. There is no
 guarantee on maintining any special RT state. The <a class="reference internal" href="#mc-closer-object"><span class="std std-ref">Closer Object</span></a>
 is supposed to sort that out.</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>actual_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a>) – Starting point, must not change when calling this
-function.</li>
-<li><strong>proposed_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a>) – Passed by reference, so the resulting
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>actual_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a>) – Starting point, must not change when calling this
+function.</p></li>
+<li><p><strong>proposed_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a>) – Passed by reference, so the resulting
 <a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a> is assigned to
-this parameter.</li>
+this parameter.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">None</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>None</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.modelling.PhiPsiSampler">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">PhiPsiSampler</code><span class="sig-paren">(</span><em>sequence</em>, <em>torsion_sampler</em>, <em>n_stem_phi=-1.0472</em>, <em>c_stem_psi=-0.78540</em>, <em>prev_aa='A'</em>, <em>next_aa='A'</em>, <em>seed=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.PhiPsiSampler" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.PhiPsiSampler">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">PhiPsiSampler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sequence</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">torsion_sampler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_stem_phi</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1.0472</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_stem_psi</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-0.78540</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prev_aa</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'A'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">next_aa</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'A'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.PhiPsiSampler" title="Permalink to this definition">¶</a></dt>
 <dd><p>The PhiPsiSampler randomly draws and sets phi/psi dihedral angles from
 a distribution provided by the <em>torsion_sampler</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>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence that should be sampled</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 notranslate"><span class="pre">TorsionSampler</span></code></a>) – Sampler, from which the phi/psi pairs are drawn. It
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence that should be sampled</p></li>
+<li><p><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 notranslate"><span class="pre">TorsionSampler</span></code></a>) – Sampler, from which the phi/psi pairs are drawn. It
 is also possible to pass a list of samplers with same
 size as the sequence to assign a specific sampler per
-residue.</li>
-<li><strong>n_stem_phi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Phi angle of the n_stem. This angle is not defined in
+residue.</p></li>
+<li><p><strong>n_stem_phi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Phi angle of the n_stem. This angle is not defined in
 the sampling region. If the first residue gets selected
 for changing the dihedral angles, it draws a psi angle
-given <em>n_stem_phi</em>.</li>
-<li><strong>c_stem_psi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Psi angle of c_stem. This angle is not defined in
+given <em>n_stem_phi</em>.</p></li>
+<li><p><strong>c_stem_psi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Psi angle of c_stem. This angle is not defined in
 the sampling region. If the last residue gets selected
 for changing the dihedral angles, it draws a phi angle
-given <em>c_stem_psi</em>.</li>
-<li><strong>prev_aa</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – This parameter is necessary to extract the according
+given <em>c_stem_psi</em>.</p></li>
+<li><p><strong>prev_aa</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – This parameter is necessary to extract the according
 histogram index for the first residue from the
 <em>torsion_sampler</em>. (Remember: The torsion sampler
-always considers triplets)</li>
-<li><strong>next_aa</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – This parameter is necessary to extract the according
+always considers triplets)</p></li>
+<li><p><strong>next_aa</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – This parameter is necessary to extract the according
 histogram index for the last residue from the
 <em>torsion_sampler</em>. (Remember: The torsion sampler
-always considers triplets)</li>
-<li><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for the internal random number generators.</li>
+always considers triplets)</p></li>
+<li><p><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for the internal random number generators.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.modelling.PhiPsiSampler.Initialize">
-<code class="descname">Initialize</code><span class="sig-paren">(</span><em>bb_list</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.PhiPsiSampler.Initialize" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.PhiPsiSampler.Initialize">
+<span class="sig-name descname"><span class="pre">Initialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bb_list</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.PhiPsiSampler.Initialize" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sets up a new <a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a> by randomly drawing
 phi/psi dihedral angles.</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="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The newly created conformation gets stored in here</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.modelling.PhiPsiSampler.ProposeStep">
-<code class="descname">ProposeStep</code><span class="sig-paren">(</span><em>actual_positions</em>, <em>proposed_position</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.PhiPsiSampler.ProposeStep" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The newly created conformation gets stored in here</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.PhiPsiSampler.ProposeStep">
+<span class="sig-name descname"><span class="pre">ProposeStep</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">actual_positions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">proposed_position</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.PhiPsiSampler.ProposeStep" title="Permalink to this definition">¶</a></dt>
 <dd><p>Randomly selects one of the residues and resets its phi/psi values
 according to a random draw from the internal torsion samplers.
 In case of the first residue, only a psi given phi is drawn. Same
 principle also applies for the last residue.</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>actual_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Conformation to be changed</li>
-<li><strong>proposed_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Changed conformation gets stored in here</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>actual_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Conformation to be changed</p></li>
+<li><p><strong>proposed_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Changed conformation gets stored in here</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> If size of <em>actual_positions</em>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> If size of <em>actual_positions</em>
 is not consistent with the internal sequence. Note, that the
 sequence itself doesn’t get checked for efficiency reasons.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.modelling.SoftSampler">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">SoftSampler</code><span class="sig-paren">(</span><em>sequence</em>, <em>torsion_sampler</em>, <em>max_dev</em>, <em>n_stem_phi=-1.0472</em>, <em>c_stem_psi=-0.78540</em>, <em>prev_aa='A'</em>, <em>next_aa='A'</em>, <em>seed=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SoftSampler" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.SoftSampler">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">SoftSampler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sequence</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">torsion_sampler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_dev</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_stem_phi</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1.0472</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_stem_psi</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-0.78540</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prev_aa</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'A'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">next_aa</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'A'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SoftSampler" title="Permalink to this definition">¶</a></dt>
 <dd><p>Instead of drawing completely new values for a residues phi/psi angles,
 only one angle gets altered by a maximum value of <em>max_dev</em> in the
 SoftSampler.</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>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence that should be sampled</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 notranslate"><span class="pre">TorsionSampler</span></code></a>) – Sampler, from which the phi/psi probablities are
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence that should be sampled</p></li>
+<li><p><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 notranslate"><span class="pre">TorsionSampler</span></code></a>) – Sampler, from which the phi/psi probablities are
 extracted. It is also possible to pass a list of
 samplers with same size as the sequence to assign
-a specific sampler per residue.</li>
-<li><strong>max_dev</strong> – Maximal deviation of dihedral angle from its original
-value per sampling step.</li>
-<li><strong>n_stem_phi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Phi angle of the n_stem. This angle is not defined in
+a specific sampler per residue.</p></li>
+<li><p><strong>max_dev</strong> – Maximal deviation of dihedral angle from its original
+value per sampling step.</p></li>
+<li><p><strong>n_stem_phi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Phi angle of the n_stem. This angle is not defined in
 the sampling region. If the psi angle of the first
 residue gets selected to be changed, <em>n_stem_phi</em> is
 used to calculate the phi/psi probability to estimate
-the acceptance probability.</li>
-<li><strong>c_stem_psi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Psi angle of c_stem. This angle is not defined in
+the acceptance probability.</p></li>
+<li><p><strong>c_stem_psi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Psi angle of c_stem. This angle is not defined in
 the sampling region. If the phi angle of the last
 residue gets selected to be changed, <em>c_stem_psi</em> is
 used to calculate the phi/psi probability to estimate
-the acceptance probability.</li>
-<li><strong>prev_aa</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – This parameter is necessary to extract the according
+the acceptance probability.</p></li>
+<li><p><strong>prev_aa</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – This parameter is necessary to extract the according
 histogram index for the first residue from the
 <em>torsion_sampler</em>. (Remember: The torsion sampler
-always considers triplets)</li>
-<li><strong>next_aa</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – This parameter is necessary to extract the according
+always considers triplets)</p></li>
+<li><p><strong>next_aa</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – This parameter is necessary to extract the according
 histogram index for the last residue from the
 <em>torsion_sampler</em>. (Remember: The torsion sampler
-always considers triplets)</li>
-<li><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for the internal random number generators.</li>
+always considers triplets)</p></li>
+<li><p><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for the internal random number generators.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.modelling.SoftSampler.Initialize">
-<code class="descname">Initialize</code><span class="sig-paren">(</span><em>bb_list</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SoftSampler.Initialize" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.SoftSampler.Initialize">
+<span class="sig-name descname"><span class="pre">Initialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bb_list</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SoftSampler.Initialize" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sets up a new <a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a> by randomly drawing
 phi/psi dihedral angles.</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="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The newly created conformation gets stored in here</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.modelling.SoftSampler.ProposeStep">
-<code class="descname">ProposeStep</code><span class="sig-paren">(</span><em>actual_positions</em>, <em>proposed_position</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SoftSampler.ProposeStep" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The newly created conformation gets stored in here</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.SoftSampler.ProposeStep">
+<span class="sig-name descname"><span class="pre">ProposeStep</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">actual_positions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">proposed_position</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SoftSampler.ProposeStep" title="Permalink to this definition">¶</a></dt>
 <dd><p>In an iterative process, the SoftSampler randomly selects one of the
 possible dihedral angles in a conformation and changes it by a random value
 in [-<em>max_dev</em>, <em>max_dev</em>]. The acceptance probability of this change is
@@ -348,100 +323,85 @@ the fraction of the phi/psi probability before and after changing the
 single angle in the particular residue. There is a maximum of 100
 iterations. It is therefore theoretically possible, that nothing happens
 when a new step should be proposed</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>actual_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Conformation to be changed</li>
-<li><strong>proposed_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Changed conformation gets stored in here</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>actual_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Conformation to be changed</p></li>
+<li><p><strong>proposed_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Changed conformation gets stored in here</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> If size of <em>actual_positions</em>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> If size of <em>actual_positions</em>
 is not consistent with the internal sequence. Note, that the
 sequence itself doesn’t get checked for efficiency reasons.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.modelling.FragmentSampler">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">FragmentSampler</code><span class="sig-paren">(</span><em>sequence</em>, <em>fraggers</em>, <em>init_bb_list=BackboneList(sequence)</em>, <em>sampling_start_index=0</em>, <em>init_fragments=3</em>, <em>seed=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FragmentSampler" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.FragmentSampler">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">FragmentSampler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sequence</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fraggers</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">init_bb_list</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">BackboneList(sequence)</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sampling_start_index</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">init_fragments</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FragmentSampler" title="Permalink to this definition">¶</a></dt>
 <dd><p>The FragmentSampler samples by replacing full fragments originating from a
 list of <a class="reference internal" href="../loop/structure_db.html#promod3.loop.Fragger" title="promod3.loop.Fragger"><code class="xref py py-class docutils literal notranslate"><span class="pre">Fragger</span></code></a> objects. The region, that actually gets
 sampled is determined by <em>sampling_start_index</em> and number of
 <a class="reference internal" href="../loop/structure_db.html#promod3.loop.Fragger" title="promod3.loop.Fragger"><code class="xref py py-class docutils literal notranslate"><span class="pre">Fragger</span></code></a> objects  being available. All parts not covered
 by any fragger remain rigid.</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>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Overall sequence</li>
-<li><strong>fraggers</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – A list of <a class="reference internal" href="../loop/structure_db.html#promod3.loop.Fragger" title="promod3.loop.Fragger"><code class="xref py py-class docutils literal notranslate"><span class="pre">Fragger</span></code></a> objects. The first
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Overall sequence</p></li>
+<li><p><strong>fraggers</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – A list of <a class="reference internal" href="../loop/structure_db.html#promod3.loop.Fragger" title="promod3.loop.Fragger"><code class="xref py py-class docutils literal notranslate"><span class="pre">Fragger</span></code></a> objects. The first
 fragger covers the region starting at the letter
 <em>sampling_start_index</em> of the <em>sequence</em> and so on.
-All fraggers must contain fragments of equal size.</li>
-<li><strong>init_bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Initial conformation, that serves as a starting point for
+All fraggers must contain fragments of equal size.</p></li>
+<li><p><strong>init_bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Initial conformation, that serves as a starting point for
 sampling. The default gets constructed using the default
 constructor of <a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a> and
-results in a helix.</li>
-<li><strong>sampling_start_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Defines the beginning of the region, that actually
-gets sampled.</li>
-<li><strong>init_fragments</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – When calling the Initialize function, the positions get set
+results in a helix.</p></li>
+<li><p><strong>sampling_start_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Defines the beginning of the region, that actually
+gets sampled.</p></li>
+<li><p><strong>init_fragments</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – When calling the Initialize function, the positions get set
 to the ones of <em>init_bb_list</em>. This is the number of
-fragments that gets randomly selected and inserted.</li>
-<li><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for the internal random number generators</li>
+fragments that gets randomly selected and inserted.</p></li>
+<li><p><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for the internal random number generators</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.modelling.FragmentSampler.Initialize">
-<code class="descname">Initialize</code><span class="sig-paren">(</span><em>bb_list</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FragmentSampler.Initialize" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.FragmentSampler.Initialize">
+<span class="sig-name descname"><span class="pre">Initialize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bb_list</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FragmentSampler.Initialize" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sets up a new <a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a> by setting the setting
 bb_list = <em>init_bb_list</em> and randomly replace n fragments
 with n = <em>init_fragments</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"><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The newly created conformation gets stored in here</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.modelling.FragmentSampler.ProposeStep">
-<code class="descname">ProposeStep</code><span class="sig-paren">(</span><em>actual_step</em>, <em>proposed_position</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FragmentSampler.ProposeStep" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – The newly created conformation gets stored in here</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.FragmentSampler.ProposeStep">
+<span class="sig-name descname"><span class="pre">ProposeStep</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">actual_step</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">proposed_position</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FragmentSampler.ProposeStep" title="Permalink to this definition">¶</a></dt>
 <dd><p>Randomly selects a position and selects a random fragment from the according
 fragger object to alter the conformation.</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>actual_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Conformation to be changed</li>
-<li><strong>proposed_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Changed conformation gets stored in here</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>actual_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Conformation to be changed</p></li>
+<li><p><strong>proposed_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Changed conformation gets stored in here</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="closer-object">
-<span id="mc-closer-object"></span><h2>Closer Object<a class="headerlink" href="#closer-object" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="closer-object">
+<span id="mc-closer-object"></span><h2>Closer Object<a class="headerlink" href="#closer-object" title="Permalink to this heading">¶</a></h2>
 <p>After the proposal of new conformations by the sampler objects, the
 conformations typically have to undergo some structural changes, so they
 fit to a given environment. This can either be structural changes, that
@@ -449,438 +409,382 @@ the stems of the sampled conformation overlap with given stem residues or
 or simple stem superposition in case of terminal sampling. You can either
 use any of the provided closers or any object that implements the
 functionality of <a class="reference internal" href="#promod3.modelling.CloserBase" title="promod3.modelling.CloserBase"><code class="xref py py-class docutils literal notranslate"><span class="pre">CloserBase</span></code></a>.</p>
-<dl class="class">
-<dt id="promod3.modelling.CloserBase">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">CloserBase</code><a class="headerlink" href="#promod3.modelling.CloserBase" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.CloserBase">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">CloserBase</span></span><a class="headerlink" href="#promod3.modelling.CloserBase" title="Permalink to this definition">¶</a></dt>
 <dd><p>Abstract base class defining the functions that must be implemented by any
 closer.</p>
-<dl class="method">
-<dt id="promod3.modelling.CloserBase.Close">
-<code class="descname">Close</code><span class="sig-paren">(</span><em>actual_positions</em>, <em>closed_positions</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CloserBase.Close" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.CloserBase.Close">
+<span class="sig-name descname"><span class="pre">Close</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">actual_positions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">closed_positions</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CloserBase.Close" title="Permalink to this definition">¶</a></dt>
 <dd><p>Takes current positions and proposes a new conformation that fits to a
 given environment.</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>actual_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a>) – Starting point, must not change when calling this
-function.</li>
-<li><strong>closed_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a>) – Passed by reference, so the resulting
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>actual_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a>) – Starting point, must not change when calling this
+function.</p></li>
+<li><p><strong>closed_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a>) – Passed by reference, so the resulting
 <a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a> is assigned to
-this parameter.</li>
+this parameter.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Whether closing procedure was successful</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="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Whether closing procedure was successful</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.modelling.CCDCloser">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">CCDCloser</code><span class="sig-paren">(</span><em>n_stem</em>, <em>c_stem</em>, <em>sequence</em>, <em>torsion_sampler</em>, <em>seed</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CCDCloser" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.CCDCloser">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">CCDCloser</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sequence</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">torsion_sampler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CCDCloser" title="Permalink to this definition">¶</a></dt>
 <dd><p>The CCDCloser applies the CCD algorithm to the sampled conformation
 to enforce the match between the conformations stem residue and
 the stems given by the closer. The <em>torsion_sampler</em> is used to
 avoid moving into unfavourable phi/psi ranges.</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="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Defining stem positions the closed conformation
-should adapt. See <a class="reference internal" href="loop_closing.html#promod3.modelling.CCD.CCD" title="promod3.modelling.CCD.CCD"><code class="xref py py-meth docutils literal notranslate"><span class="pre">CCD()</span></code></a>.</li>
-<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Defining stem positions the closed conformation
-should adapt. See <a class="reference internal" href="loop_closing.html#promod3.modelling.CCD.CCD" title="promod3.modelling.CCD.CCD"><code class="xref py py-meth docutils literal notranslate"><span class="pre">CCD()</span></code></a>.</li>
-<li><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence of the conformation to be closed.</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 notranslate"><span class="pre">TorsionSampler</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>n_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Defining stem positions the closed conformation
+should adapt. See <a class="reference internal" href="loop_closing.html#id0" title="promod3.modelling.CCD.CCD"><code class="xref py py-meth docutils literal notranslate"><span class="pre">CCD()</span></code></a>.</p></li>
+<li><p><strong>c_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Defining stem positions the closed conformation
+should adapt. See <a class="reference internal" href="loop_closing.html#id0" title="promod3.modelling.CCD.CCD"><code class="xref py py-meth docutils literal notranslate"><span class="pre">CCD()</span></code></a>.</p></li>
+<li><p><strong>sequence</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Sequence of the conformation to be closed.</p></li>
+<li><p><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 notranslate"><span class="pre">TorsionSampler</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>
 of <a class="reference internal" href="../loop/torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a>) – To enforce valid phi/psi ranges. Alternatively, you
 can also pass a list of sampler objects to assign a
 unique torsion sampler to every residue of the
-conformation to be closed.</li>
-<li><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for internal random generators.</li>
+conformation to be closed.</p></li>
+<li><p><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for internal random generators.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.modelling.CCDCloser.Close">
-<code class="descname">Close</code><span class="sig-paren">(</span><em>actual_positions</em>, <em>closed_positions</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CCDCloser.Close" 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>actual_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Conformation to be closed.</li>
-<li><strong>closed_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Closed conformation gets stored in here.</li>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.CCDCloser.Close">
+<span class="sig-name descname"><span class="pre">Close</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">actual_positions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">closed_positions</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CCDCloser.Close" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>actual_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Conformation to be closed.</p></li>
+<li><p><strong>closed_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Closed conformation gets stored in here.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">Whether CCD converged</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Whether CCD converged</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.modelling.DirtyCCDCloser">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">DirtyCCDCloser</code><span class="sig-paren">(</span><em>n_stem</em>, <em>c_stem</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.DirtyCCDCloser" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.DirtyCCDCloser">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">DirtyCCDCloser</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_stem</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.DirtyCCDCloser" title="Permalink to this definition">¶</a></dt>
 <dd><p>The DirtyCCDCloser applies the CCD algorithm to the sampled conformation
 to enforce the match between the conformations stem residue and
 the stems given by the closer. There is no check for reasonable backbone
 dihedral angles as it is the case for the <a class="reference internal" href="#promod3.modelling.CCDCloser" title="promod3.modelling.CCDCloser"><code class="xref py py-class docutils literal notranslate"><span class="pre">CCDCloser</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>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Defining stem positions the closed conformation
-should adapt.</li>
-<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Defining stem positions the closed conformation
-should adapt.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>n_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Defining stem positions the closed conformation
+should adapt.</p></li>
+<li><p><strong>c_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Defining stem positions the closed conformation
+should adapt.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.modelling.DirtyCCDCloser.Close">
-<code class="descname">Close</code><span class="sig-paren">(</span><em>actual_positions</em>, <em>closed_positions</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.DirtyCCDCloser.Close" 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>actual_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Conformation to be closed.</li>
-<li><strong>closed_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Closed conformation gets stored in here.</li>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.DirtyCCDCloser.Close">
+<span class="sig-name descname"><span class="pre">Close</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">actual_positions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">closed_positions</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.DirtyCCDCloser.Close" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>actual_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Conformation to be closed.</p></li>
+<li><p><strong>closed_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Closed conformation gets stored in here.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">Whether CCD converged</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Whether CCD converged</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.modelling.KICCloser">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">KICCloser</code><span class="sig-paren">(</span><em>n_stem</em>, <em>c_stem</em>, <em>seed</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.KICCloser" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.KICCloser">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">KICCloser</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_stem</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.KICCloser" title="Permalink to this definition">¶</a></dt>
 <dd><p>The KIC closer randomly picks three pivot residues in the conformation
 to be closed and applies the KIC algorithm. KIC gives up to 16 possible
 solutions. The KICCloser simply picks the first one.</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="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Defining stem positions the closed conformation should
-adapt.</li>
-<li><strong>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Defining stem positions the closed conformation should
-adapt.</li>
-<li><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for internal random generators.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>n_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Defining stem positions the closed conformation should
+adapt.</p></li>
+<li><p><strong>c_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Defining stem positions the closed conformation should
+adapt.</p></li>
+<li><p><strong>seed</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Seed for internal random generators.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.modelling.KICCloser.Close">
-<code class="descname">Close</code><span class="sig-paren">(</span><em>actual_positions</em>, <em>closed_positions</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.KICCloser.Close" 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>actual_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Conformation to be closed.</li>
-<li><strong>closed_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Closed conformation gets stored in here.</li>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.KICCloser.Close">
+<span class="sig-name descname"><span class="pre">Close</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">actual_positions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">closed_positions</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.KICCloser.Close" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>actual_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Conformation to be closed.</p></li>
+<li><p><strong>closed_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Closed conformation gets stored in here.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">Whether KIC found a solution</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Whether KIC found a solution</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.modelling.NTerminalCloser">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">NTerminalCloser</code><span class="sig-paren">(</span><em>c_stem</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.NTerminalCloser" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.NTerminalCloser">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">NTerminalCloser</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">c_stem</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.NTerminalCloser" title="Permalink to this definition">¶</a></dt>
 <dd><p>The <a class="reference internal" href="#promod3.modelling.NTerminalCloser" title="promod3.modelling.NTerminalCloser"><code class="xref py py-class docutils literal notranslate"><span class="pre">NTerminalCloser</span></code></a> simply takes the conformation and closes by
 superposing the c_stem with the desired 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>c_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Defining stem positions the closed conformation should
-adapt.</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.modelling.NTerminalCloser.Close">
-<code class="descname">Close</code><span class="sig-paren">(</span><em>actual_positions</em>, <em>closed_positions</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.NTerminalCloser.Close" 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>actual_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Conformation to be closed (or in this case
-transformed in space).</li>
-<li><strong>closed_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Closed (transformed) conformation gets stored in
-here.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>c_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Defining stem positions the closed conformation should
+adapt.</p>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.NTerminalCloser.Close">
+<span class="sig-name descname"><span class="pre">Close</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">actual_positions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">closed_positions</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.NTerminalCloser.Close" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>actual_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Conformation to be closed (or in this case
+transformed in space).</p></li>
+<li><p><strong>closed_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Closed (transformed) conformation gets stored in
+here.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">Whether closing was successful</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Whether closing was successful</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.modelling.CTerminalCloser">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">CTerminalCloser</code><span class="sig-paren">(</span><em>n_stem</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CTerminalCloser" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.CTerminalCloser">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">CTerminalCloser</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">n_stem</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CTerminalCloser" title="Permalink to this definition">¶</a></dt>
 <dd><p>The <a class="reference internal" href="#promod3.modelling.CTerminalCloser" title="promod3.modelling.CTerminalCloser"><code class="xref py py-class docutils literal notranslate"><span class="pre">CTerminalCloser</span></code></a> simply takes the conformation and closes by
 superposing the n_stem with the desired 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>n_stem</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Defining stem positions the closed conformation should
-adapt.</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.modelling.CTerminalCloser.Close">
-<code class="descname">Close</code><span class="sig-paren">(</span><em>actual_positions</em>, <em>closed_positions</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CTerminalCloser.Close" 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>actual_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Conformation to be closed (or in this case
-transformed in space).</li>
-<li><strong>closed_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Closed (transformed) conformation gets stored in
-here.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>n_stem</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Defining stem positions the closed conformation should
+adapt.</p>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.CTerminalCloser.Close">
+<span class="sig-name descname"><span class="pre">Close</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">actual_positions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">closed_positions</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CTerminalCloser.Close" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>actual_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Conformation to be closed (or in this case
+transformed in space).</p></li>
+<li><p><strong>closed_positions</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Closed (transformed) conformation gets stored in
+here.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">Whether closing was successful</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Whether closing was successful</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.modelling.DeNovoCloser">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">DeNovoCloser</code><a class="headerlink" href="#promod3.modelling.DeNovoCloser" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.DeNovoCloser">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">DeNovoCloser</span></span><a class="headerlink" href="#promod3.modelling.DeNovoCloser" title="Permalink to this definition">¶</a></dt>
 <dd><p>In case of sampling a full stretch, you dont have external constraints. The
 closer has a rather boring job in this case.</p>
-<dl class="method">
-<dt id="promod3.modelling.DeNovoCloser.Close">
-<code class="descname">Close</code><span class="sig-paren">(</span><em>actual_positions</em>, <em>closed_positions</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.DeNovoCloser.Close" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.DeNovoCloser.Close">
+<span class="sig-name descname"><span class="pre">Close</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">actual_positions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">closed_positions</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.DeNovoCloser.Close" title="Permalink to this definition">¶</a></dt>
 <dd><p>Does absolutely nothing, except copying over the coordinates from
 <em>actual_positions</em> to <em>closed_positions</em> and return true.</p>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="scorer-object">
-<span id="mc-scorer-object"></span><h2>Scorer Object<a class="headerlink" href="#scorer-object" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="scorer-object">
+<span id="mc-scorer-object"></span><h2>Scorer Object<a class="headerlink" href="#scorer-object" title="Permalink to this heading">¶</a></h2>
 <p>The scorer asses a proposed conformation and are intended to return a pseudo
 energy, the lower the better. You can either use the provided scorer or any
 object implementing the functionality defined in <a class="reference internal" href="#promod3.modelling.ScorerBase" title="promod3.modelling.ScorerBase"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScorerBase</span></code></a>.</p>
-<dl class="class">
-<dt id="promod3.modelling.ScorerBase">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">ScorerBase</code><a class="headerlink" href="#promod3.modelling.ScorerBase" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.ScorerBase">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">ScorerBase</span></span><a class="headerlink" href="#promod3.modelling.ScorerBase" title="Permalink to this definition">¶</a></dt>
 <dd><p>Abstract base class defining the functions that must be implemented by any
 scorer.</p>
-<dl class="method">
-<dt id="promod3.modelling.ScorerBase.GetScore">
-<code class="descname">GetScore</code><span class="sig-paren">(</span><em>bb_list</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScorerBase.GetScore" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ScorerBase.GetScore">
+<span class="sig-name descname"><span class="pre">GetScore</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bb_list</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ScorerBase.GetScore" title="Permalink to this definition">¶</a></dt>
 <dd><p>Takes coordinates and spits out a score given some internal structural
 environment.</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="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a>) – Coordinates to be scored</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The score</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a>) – Coordinates to be scored</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The score</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.modelling.LinearScorer">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">LinearScorer</code><span class="sig-paren">(</span><em>scorer</em>, <em>scorer_env</em>, <em>start_resnum</em>, <em>num_residues</em>, <em>chain_idx</em>, <em>linear_weights</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LinearScorer" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.LinearScorer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">LinearScorer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">scorer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scorer_env</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_residues</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linear_weights</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LinearScorer" title="Permalink to this definition">¶</a></dt>
 <dd><p>The LinearScorer allows to combine the scores available from
 <a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.BackboneOverallScorer" title="promod3.scoring.BackboneOverallScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneOverallScorer</span></code></a> in a linear manner. See
 <a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.BackboneOverallScorer.CalculateLinearCombination" title="promod3.scoring.BackboneOverallScorer.CalculateLinearCombination"><code class="xref py py-meth docutils literal notranslate"><span class="pre">CalculateLinearCombination()</span></code></a> for a
 detailed description of the arguments.</p>
 <div class="admonition warning">
-<p class="first admonition-title">Warning</p>
-<p class="last">The provided <em>scorer_env</em> will be altered in every
+<p class="admonition-title">Warning</p>
+<p>The provided <em>scorer_env</em> will be altered in every
 <a class="reference internal" href="#promod3.modelling.LinearScorer.GetScore" title="promod3.modelling.LinearScorer.GetScore"><code class="xref py py-func docutils literal notranslate"><span class="pre">GetScore()</span></code></a> call.
 You might consider the Stash / Pop mechanism of the
 <a class="reference internal" href="../scoring/backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> to restore to the
 original state once the sampling is done.</p>
 </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="../scoring/backbone_scorers.html#promod3.scoring.BackboneOverallScorer" title="promod3.scoring.BackboneOverallScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneOverallScorer</span></code></a>) – Scorer Object with set environment for the particular loop
-modelling problem.</li>
-<li><strong>scorer_env</strong> (<a class="reference internal" href="../scoring/backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a>) – The environment that is linked to the <em>scorer</em></li>
-<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number defining the position in the SEQRES.</li>
-<li><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of residues to score</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the loop(s) belong to.</li>
-<li><strong>linear_weights</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#dict" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> (keys: <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>,
-values: <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)) – Weights for each desired scorer.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>scorer</strong> (<a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.BackboneOverallScorer" title="promod3.scoring.BackboneOverallScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneOverallScorer</span></code></a>) – Scorer Object with set environment for the particular loop
+modelling problem.</p></li>
+<li><p><strong>scorer_env</strong> (<a class="reference internal" href="../scoring/backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a>) – The environment that is linked to the <em>scorer</em></p></li>
+<li><p><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number defining the position in the SEQRES.</p></li>
+<li><p><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of residues to score</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the loop(s) belong to.</p></li>
+<li><p><strong>linear_weights</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#dict" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> (keys: <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>,
+values: <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)) – Weights for each desired scorer.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>linear_weights</em> has a <em>key</em> for
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>linear_weights</em> has a <em>key</em> for
 which no scorer exists</p>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.modelling.LinearScorer.GetScore">
-<code class="descname">GetScore</code><span class="sig-paren">(</span><em>bb_list</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LinearScorer.GetScore" 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>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Loop to be scored.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">A linear combination of the scores</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-</dd></dl>
-
-</div>
-<div class="section" id="cooler-object">
-<span id="mc-cooler-object"></span><h2>Cooler Object<a class="headerlink" href="#cooler-object" title="Permalink to this headline">¶</a></h2>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.LinearScorer.GetScore">
+<span class="sig-name descname"><span class="pre">GetScore</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bb_list</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.LinearScorer.GetScore" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Loop to be scored.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A linear combination of the scores</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</section>
+<section id="cooler-object">
+<span id="mc-cooler-object"></span><h2>Cooler Object<a class="headerlink" href="#cooler-object" title="Permalink to this heading">¶</a></h2>
 <p>The cooler objects control the temperature of the Monte Carlo trajectory.
 They’re intended to deliver steadily decreasing temperatures with calls
 to their GetTemperature function. You can either use the provided cooler
 or any object implementing the functionality defined in
 <a class="reference internal" href="#promod3.modelling.CoolerBase" title="promod3.modelling.CoolerBase"><code class="xref py py-class docutils literal notranslate"><span class="pre">CoolerBase</span></code></a>.</p>
-<dl class="class">
-<dt id="promod3.modelling.CoolerBase">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">CoolerBase</code><a class="headerlink" href="#promod3.modelling.CoolerBase" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.CoolerBase">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">CoolerBase</span></span><a class="headerlink" href="#promod3.modelling.CoolerBase" title="Permalink to this definition">¶</a></dt>
 <dd><p>Abstract base class defining the functions that must be implemented by any
 cooler.</p>
-<dl class="method">
-<dt id="promod3.modelling.CoolerBase.GetTemperature">
-<code class="descname">GetTemperature</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CoolerBase.GetTemperature" 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 Temperature</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.modelling.CoolerBase.Reset">
-<code class="descname">Reset</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CoolerBase.Reset" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.CoolerBase.GetTemperature">
+<span class="sig-name descname"><span class="pre">GetTemperature</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CoolerBase.GetTemperature" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The Temperature</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.CoolerBase.Reset">
+<span class="sig-name descname"><span class="pre">Reset</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CoolerBase.Reset" title="Permalink to this definition">¶</a></dt>
 <dd><p>Resets to original state, so a new Monte Carlo trajectory can be generated</p>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.modelling.ExponentialCooler">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">ExponentialCooler</code><span class="sig-paren">(</span><em>change_frequency</em>, <em>start_temperature</em>, <em>cooling_factor</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ExponentialCooler" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.ExponentialCooler">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">ExponentialCooler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">change_frequency</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_temperature</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cooling_factor</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ExponentialCooler" title="Permalink to this definition">¶</a></dt>
 <dd><p>The exponential cooler starts with a given <em>start_temperature</em> and counts the
 calls to its <a class="reference internal" href="#promod3.modelling.ExponentialCooler.GetTemperature" title="promod3.modelling.ExponentialCooler.GetTemperature"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetTemperature()</span></code></a> function. According to the
 <em>change_frequency</em>, the returned temperature gets multiplied by the
 <em>cooling_factor</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>change_frequency</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Frequency to change temperature</li>
-<li><strong>start_temperature</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – temperature to start with</li>
-<li><strong>cooling_factor</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Factor to decrease temperature</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>change_frequency</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Frequency to change temperature</p></li>
+<li><p><strong>start_temperature</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – temperature to start with</p></li>
+<li><p><strong>cooling_factor</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Factor to decrease temperature</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.modelling.ExponentialCooler.GetTemperature">
-<code class="descname">GetTemperature</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ExponentialCooler.GetTemperature" 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">current temperature</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.modelling.ExponentialCooler.Reset">
-<code class="descname">Reset</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ExponentialCooler.Reset" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ExponentialCooler.GetTemperature">
+<span class="sig-name descname"><span class="pre">GetTemperature</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ExponentialCooler.GetTemperature" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>current temperature</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ExponentialCooler.Reset">
+<span class="sig-name descname"><span class="pre">Reset</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ExponentialCooler.Reset" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sets current temperature back to <em>start_temperature</em> and the
 internal counter to 0</p>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -901,12 +805,12 @@ internal counter to 0</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -923,7 +827,7 @@ internal counter to 0</p>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a><ul>
       <li>Previous: <a href="loop_closing.html" title="previous chapter">Fitting Loops Into Gaps</a></li>
       <li>Next: <a href="sidechain_reconstruction.html" title="next chapter">Sidechain Reconstruction</a></li>
   </ul></li>
@@ -932,27 +836,33 @@ internal counter to 0</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/modelling/monte_carlo.rst.txt"
diff --git a/doc/html/modelling/pipeline.html b/doc/html/modelling/pipeline.html
index 7eccbbe4c668b87581d2949f583aa907a9079fae..4b6ef826f6d23deee04b726c49cf18b649eea64a 100644
--- a/doc/html/modelling/pipeline.html
+++ b/doc/html/modelling/pipeline.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Modelling Pipeline &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Modelling Pipeline &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Model Checking" href="model_checking.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,29 +31,31 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="modelling-pipeline">
-<h1>Modelling Pipeline<a class="headerlink" href="#modelling-pipeline" title="Permalink to this headline">¶</a></h1>
+  <section id="modelling-pipeline">
+<h1>Modelling Pipeline<a class="headerlink" href="#modelling-pipeline" title="Permalink to this heading">¶</a></h1>
 <p>A protein homology modelling pipeline 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 notranslate"><span class="pre">BuildRawModel()</span></code></a> function)</li>
-<li>Perform loop modelling to close (or remove) all gaps (see functions
+<li><p>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 notranslate"><span class="pre">BuildRawModel()</span></code></a> function)</p></li>
+<li><p>Perform loop modelling to close (or remove) all gaps (see functions
 <a class="reference internal" href="#promod3.modelling.CloseSmallDeletions" title="promod3.modelling.CloseSmallDeletions"><code class="xref py py-func docutils literal notranslate"><span class="pre">CloseSmallDeletions()</span></code></a>, <a class="reference internal" href="#promod3.modelling.RemoveTerminalGaps" title="promod3.modelling.RemoveTerminalGaps"><code class="xref py py-func docutils literal notranslate"><span class="pre">RemoveTerminalGaps()</span></code></a>,
 <a class="reference internal" href="#promod3.modelling.MergeGapsByDistance" title="promod3.modelling.MergeGapsByDistance"><code class="xref py py-func docutils literal notranslate"><span class="pre">MergeGapsByDistance()</span></code></a>, <a class="reference internal" href="#promod3.modelling.FillLoopsByDatabase" title="promod3.modelling.FillLoopsByDatabase"><code class="xref py py-func docutils literal notranslate"><span class="pre">FillLoopsByDatabase()</span></code></a>,
 <a class="reference internal" href="#promod3.modelling.FillLoopsByMonteCarlo" title="promod3.modelling.FillLoopsByMonteCarlo"><code class="xref py py-func docutils literal notranslate"><span class="pre">FillLoopsByMonteCarlo()</span></code></a>, <a class="reference internal" href="#promod3.modelling.CloseLargeDeletions" title="promod3.modelling.CloseLargeDeletions"><code class="xref py py-func docutils literal notranslate"><span class="pre">CloseLargeDeletions()</span></code></a> or
 <a class="reference internal" href="#promod3.modelling.CloseGaps" title="promod3.modelling.CloseGaps"><code class="xref py py-func docutils literal notranslate"><span class="pre">CloseGaps()</span></code></a> that calls all these functions using predefined
-heuristics)</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 notranslate"><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 notranslate"><span class="pre">MinimizeModelEnergy()</span></code></a> function)</li>
+heuristics)</p></li>
+<li><p>Build sidechains (see <a class="reference internal" href="#promod3.modelling.BuildSidechains" title="promod3.modelling.BuildSidechains"><code class="xref py py-func docutils literal notranslate"><span class="pre">BuildSidechains()</span></code></a> function)</p></li>
+<li><p>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 notranslate"><span class="pre">MinimizeModelEnergy()</span></code></a> function)</p></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 notranslate"><span class="pre">BuildFromRawModel()</span></code></a> function. If you want to run and tweak the
 internal steps, you can start with the  following code and adapt it to your
 purposes:</p>
-<div class="highlight-default notranslate" id="modelling-steps-example"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">modelling</span><span class="p">,</span> <span class="n">loop</span>
+<div class="highlight-default notranslate" id="modelling-steps-example"><div class="highlight"><pre><span></span><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="p">,</span> <span class="n">loop</span>
 
 <span class="c1"># setup</span>
 <span class="n">merge_distance</span> <span class="o">=</span> <span class="mi">4</span>
@@ -88,233 +91,194 @@ purposes:</p>
 <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="s1">&#39;model.pdb&#39;</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="section" id="build-raw-modelling-handle">
-<h2>Build Raw Modelling Handle<a class="headerlink" href="#build-raw-modelling-handle" 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>
+<section id="build-raw-modelling-handle">
+<h2>Build Raw Modelling Handle<a class="headerlink" href="#build-raw-modelling-handle" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingHandle">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">ModellingHandle</span></span><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 notranslate"><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>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingHandle.model">
+<span class="sig-name descname"><span class="pre">model</span></span><a class="headerlink" href="#promod3.modelling.ModellingHandle.model" title="Permalink to this definition">¶</a></dt>
 <dd><p>The resulting model. This includes one chain per target chain (in the same
 order as the sequences in <a class="reference internal" href="#promod3.modelling.ModellingHandle.seqres" title="promod3.modelling.ModellingHandle.seqres"><code class="xref py py-attr docutils literal notranslate"><span class="pre">seqres</span></code></a>) and (if they were included) a
 chain named ‘_’ for ligands. You can therefore access <cite>model.chains</cite> items
 and <a class="reference internal" href="#promod3.modelling.ModellingHandle.seqres" title="promod3.modelling.ModellingHandle.seqres"><code class="xref py py-attr docutils literal notranslate"><span class="pre">seqres</span></code></a> items with the same indexing and the optional ligand
 chain follows afterwards.</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://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityHandle</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityHandle</span></code></a></p>
+</dd>
+</dl>
 </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>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingHandle.gaps">
+<span class="sig-name descname"><span class="pre">gaps</span></span><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="gap_handling.html#promod3.modelling.StructuralGapList" title="promod3.modelling.StructuralGapList"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructuralGapList</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="gap_handling.html#promod3.modelling.StructuralGapList" title="promod3.modelling.StructuralGapList"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructuralGapList</span></code></a></p>
+</dd>
+</dl>
 </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="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">SequenceHandle</span></code></a> for each chain
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingHandle.seqres">
+<span class="sig-name descname"><span class="pre">seqres</span></span><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="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">SequenceHandle</span></code></a> for each chain
 of the 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="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.SequenceList" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">SequenceList</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.SequenceList" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">SequenceList</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.ModellingHandle.profiles">
-<code class="descname">profiles</code><a class="headerlink" href="#promod3.modelling.ModellingHandle.profiles" title="Permalink to this definition">¶</a></dt>
-<dd><p>List of profiles with one <a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a> for each chain of
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingHandle.profiles">
+<span class="sig-name descname"><span class="pre">profiles</span></span><a class="headerlink" href="#promod3.modelling.ModellingHandle.profiles" title="Permalink to this definition">¶</a></dt>
+<dd><p>List of profiles with one <a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a> for each chain of
 the target protein (same order as in <a class="reference internal" href="#promod3.modelling.ModellingHandle.seqres" title="promod3.modelling.ModellingHandle.seqres"><code class="xref py py-attr docutils literal notranslate"><span class="pre">seqres</span></code></a>). Please note, that this
 attribute won’t be set by simply calling <a class="reference internal" href="#promod3.modelling.BuildFromRawModel" title="promod3.modelling.BuildFromRawModel"><code class="xref py py-func docutils literal notranslate"><span class="pre">BuildFromRawModel()</span></code></a>. You have
 to fill it manually or even better by the convenient function
 <a class="reference internal" href="#promod3.modelling.SetSequenceProfiles" title="promod3.modelling.SetSequenceProfiles"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetSequenceProfiles()</span></code></a>,  to ensure consistency with the seqres.</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.ModellingHandle.psipred_predictions">
-<code class="descname">psipred_predictions</code><a class="headerlink" href="#promod3.modelling.ModellingHandle.psipred_predictions" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingHandle.psipred_predictions">
+<span class="sig-name descname"><span class="pre">psipred_predictions</span></span><a class="headerlink" href="#promod3.modelling.ModellingHandle.psipred_predictions" title="Permalink to this definition">¶</a></dt>
 <dd><p>List of predictions with one <a class="reference internal" href="../loop/structure_db.html#promod3.loop.PsipredPrediction" title="promod3.loop.PsipredPrediction"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.PsipredPrediction</span></code></a> for
 each chain of the target protein (same order as in <a class="reference internal" href="#promod3.modelling.ModellingHandle.seqres" title="promod3.modelling.ModellingHandle.seqres"><code class="xref py py-attr docutils literal notranslate"><span class="pre">seqres</span></code></a>). Please
 note, that this attribute won’t be set by simply calling
 <a class="reference internal" href="#promod3.modelling.BuildFromRawModel" title="promod3.modelling.BuildFromRawModel"><code class="xref py py-func docutils literal notranslate"><span class="pre">BuildFromRawModel()</span></code></a>. You have to fill it manually or even better by
 the convenient function <a class="reference internal" href="#promod3.modelling.SetPsipredPredictions" title="promod3.modelling.SetPsipredPredictions"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetPsipredPredictions()</span></code></a>,  to ensure
 consistency with the seqres.</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="../loop/structure_db.html#promod3.loop.PsipredPrediction" title="promod3.loop.PsipredPrediction"><code class="xref py py-class docutils literal notranslate"><span class="pre">PsipredPrediction</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="../loop/structure_db.html#promod3.loop.PsipredPrediction" title="promod3.loop.PsipredPrediction"><code class="xref py py-class docutils literal notranslate"><span class="pre">PsipredPrediction</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.ModellingHandle.backbone_scorer_env">
-<code class="descname">backbone_scorer_env</code><a class="headerlink" href="#promod3.modelling.ModellingHandle.backbone_scorer_env" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingHandle.backbone_scorer_env">
+<span class="sig-name descname"><span class="pre">backbone_scorer_env</span></span><a class="headerlink" href="#promod3.modelling.ModellingHandle.backbone_scorer_env" title="Permalink to this definition">¶</a></dt>
 <dd><p>Backbone score environment attached to this handle. A default environment is
 set with <a class="reference internal" href="#promod3.modelling.SetupDefaultBackboneScoring" title="promod3.modelling.SetupDefaultBackboneScoring"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetupDefaultBackboneScoring()</span></code></a> when needed. Additional
 information can be added to the environment before running the pipeline
 steps.</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="../scoring/backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="../scoring/backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.ModellingHandle.backbone_scorer">
-<code class="descname">backbone_scorer</code><a class="headerlink" href="#promod3.modelling.ModellingHandle.backbone_scorer" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingHandle.backbone_scorer">
+<span class="sig-name descname"><span class="pre">backbone_scorer</span></span><a class="headerlink" href="#promod3.modelling.ModellingHandle.backbone_scorer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Backbone scorer container attached to this handle. A default set of scorers
 is initialized with <a class="reference internal" href="#promod3.modelling.SetupDefaultBackboneScoring" title="promod3.modelling.SetupDefaultBackboneScoring"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetupDefaultBackboneScoring()</span></code></a> when needed.</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="../scoring/backbone_scorers.html#promod3.scoring.BackboneOverallScorer" title="promod3.scoring.BackboneOverallScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneOverallScorer</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.BackboneOverallScorer" title="promod3.scoring.BackboneOverallScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneOverallScorer</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.ModellingHandle.all_atom_scorer_env">
-<code class="descname">all_atom_scorer_env</code><a class="headerlink" href="#promod3.modelling.ModellingHandle.all_atom_scorer_env" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingHandle.all_atom_scorer_env">
+<span class="sig-name descname"><span class="pre">all_atom_scorer_env</span></span><a class="headerlink" href="#promod3.modelling.ModellingHandle.all_atom_scorer_env" title="Permalink to this definition">¶</a></dt>
 <dd><p>All atom environment attached to this handle for scoring. A default
 environment is set with <a class="reference internal" href="#promod3.modelling.SetupDefaultAllAtomScoring" title="promod3.modelling.SetupDefaultAllAtomScoring"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetupDefaultAllAtomScoring()</span></code></a> when needed. This
 environment is for temporary work only and is only updated to score loops.
 It is not to be updated when loops are chosen and added to the final 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 internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.ModellingHandle.all_atom_scorer">
-<code class="descname">all_atom_scorer</code><a class="headerlink" href="#promod3.modelling.ModellingHandle.all_atom_scorer" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingHandle.all_atom_scorer">
+<span class="sig-name descname"><span class="pre">all_atom_scorer</span></span><a class="headerlink" href="#promod3.modelling.ModellingHandle.all_atom_scorer" title="Permalink to this definition">¶</a></dt>
 <dd><p>All atom scorer container attached to this handle. A default set of scorers
 is initialized with <a class="reference internal" href="#promod3.modelling.SetupDefaultAllAtomScoring" title="promod3.modelling.SetupDefaultAllAtomScoring"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetupDefaultAllAtomScoring()</span></code></a> when needed.</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="../scoring/all_atom_scorers.html#promod3.scoring.AllAtomOverallScorer" title="promod3.scoring.AllAtomOverallScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomOverallScorer</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="../scoring/all_atom_scorers.html#promod3.scoring.AllAtomOverallScorer" title="promod3.scoring.AllAtomOverallScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomOverallScorer</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.ModellingHandle.all_atom_sidechain_env">
-<code class="descname">all_atom_sidechain_env</code><a class="headerlink" href="#promod3.modelling.ModellingHandle.all_atom_sidechain_env" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingHandle.all_atom_sidechain_env">
+<span class="sig-name descname"><span class="pre">all_atom_sidechain_env</span></span><a class="headerlink" href="#promod3.modelling.ModellingHandle.all_atom_sidechain_env" title="Permalink to this definition">¶</a></dt>
 <dd><p>All atom environment attached to this handle for sidechain reconstruction. A
 default environment is set with <a class="reference internal" href="#promod3.modelling.SetupDefaultAllAtomScoring" title="promod3.modelling.SetupDefaultAllAtomScoring"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetupDefaultAllAtomScoring()</span></code></a> when
 needed.</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="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.ModellingHandle.sidechain_reconstructor">
-<code class="descname">sidechain_reconstructor</code><a class="headerlink" href="#promod3.modelling.ModellingHandle.sidechain_reconstructor" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingHandle.sidechain_reconstructor">
+<span class="sig-name descname"><span class="pre">sidechain_reconstructor</span></span><a class="headerlink" href="#promod3.modelling.ModellingHandle.sidechain_reconstructor" title="Permalink to this definition">¶</a></dt>
 <dd><p>A sidechain reconstructor to add sidechains to loops prior to all atom
 scoring. A default one is set with <a class="reference internal" href="#promod3.modelling.SetupDefaultAllAtomScoring" title="promod3.modelling.SetupDefaultAllAtomScoring"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetupDefaultAllAtomScoring()</span></code></a> when
 needed.</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="sidechain_reconstruction.html#promod3.modelling.SidechainReconstructor" title="promod3.modelling.SidechainReconstructor"><code class="xref py py-class docutils literal notranslate"><span class="pre">SidechainReconstructor</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="sidechain_reconstruction.html#promod3.modelling.SidechainReconstructor" title="promod3.modelling.SidechainReconstructor"><code class="xref py py-class docutils literal notranslate"><span class="pre">SidechainReconstructor</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.ModellingHandle.fragger_handles">
-<code class="descname">fragger_handles</code><a class="headerlink" href="#promod3.modelling.ModellingHandle.fragger_handles" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingHandle.fragger_handles">
+<span class="sig-name descname"><span class="pre">fragger_handles</span></span><a class="headerlink" href="#promod3.modelling.ModellingHandle.fragger_handles" title="Permalink to this definition">¶</a></dt>
 <dd><p>Optional attribute which is set in <a class="reference internal" href="#promod3.modelling.SetFraggerHandles" title="promod3.modelling.SetFraggerHandles"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetFraggerHandles()</span></code></a>. Use
 <code class="xref py py-meth docutils literal notranslate"><span class="pre">hasattr()</span></code> to check if it’s available. If it’s set, it is used in
 <a class="reference internal" href="#promod3.modelling.BuildFromRawModel" title="promod3.modelling.BuildFromRawModel"><code class="xref py py-meth docutils literal notranslate"><span class="pre">BuildFromRawModel()</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">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="algorithms.html#promod3.modelling.FraggerHandle" title="promod3.modelling.FraggerHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">FraggerHandle</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="algorithms.html#promod3.modelling.FraggerHandle" title="promod3.modelling.FraggerHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">FraggerHandle</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.ModellingHandle.modelling_issues">
-<code class="descname">modelling_issues</code><a class="headerlink" href="#promod3.modelling.ModellingHandle.modelling_issues" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingHandle.modelling_issues">
+<span class="sig-name descname"><span class="pre">modelling_issues</span></span><a class="headerlink" href="#promod3.modelling.ModellingHandle.modelling_issues" title="Permalink to this definition">¶</a></dt>
 <dd><p>Optional attribute which is set in <a class="reference internal" href="#promod3.modelling.AddModellingIssue" title="promod3.modelling.AddModellingIssue"><code class="xref py py-meth docutils literal notranslate"><span class="pre">AddModellingIssue()</span></code></a>. Use
 <code class="xref py py-meth docutils literal notranslate"><span class="pre">hasattr()</span></code> to check if it’s available. If it’s set, it can be used to
 check issues which occurred in <a class="reference internal" href="#promod3.modelling.BuildFromRawModel" title="promod3.modelling.BuildFromRawModel"><code class="xref py py-meth docutils literal notranslate"><span class="pre">BuildFromRawModel()</span></code></a> (see
 <a class="reference internal" href="#promod3.modelling.MinimizeModelEnergy" title="promod3.modelling.MinimizeModelEnergy"><code class="xref py py-meth docutils literal notranslate"><span class="pre">MinimizeModelEnergy()</span></code></a> and <a class="reference internal" href="#promod3.modelling.CheckFinalModel" title="promod3.modelling.CheckFinalModel"><code class="xref py py-meth docutils literal notranslate"><span class="pre">CheckFinalModel()</span></code></a> for details).</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.modelling.ModellingIssue" title="promod3.modelling.ModellingIssue"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingIssue</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.modelling.ModellingIssue" title="promod3.modelling.ModellingIssue"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingIssue</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.ModellingHandle.Copy">
-<code class="descname">Copy</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ModellingHandle.Copy" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingHandle.Copy">
+<span class="sig-name descname"><span class="pre">Copy</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ModellingHandle.Copy" title="Permalink to this definition">¶</a></dt>
 <dd><p>Generates a deep copy. Everything will be copied over to the returned
 <a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>, except the potentially set scoring members
 <a class="reference internal" href="#promod3.modelling.ModellingHandle.backbone_scorer" title="promod3.modelling.ModellingHandle.backbone_scorer"><code class="xref py py-attr docutils literal notranslate"><span class="pre">backbone_scorer</span></code></a>,
@@ -323,29 +287,27 @@ check issues which occurred in <a class="reference internal" href="#promod3.mode
 <a class="reference internal" href="#promod3.modelling.ModellingHandle.all_atom_scorer" title="promod3.modelling.ModellingHandle.all_atom_scorer"><code class="xref py py-attr docutils literal notranslate"><span class="pre">all_atom_scorer</span></code></a>,
 <a class="reference internal" href="#promod3.modelling.ModellingHandle.all_atom_sidechain_env" title="promod3.modelling.ModellingHandle.all_atom_sidechain_env"><code class="xref py py-attr docutils literal notranslate"><span class="pre">all_atom_sidechain_env</span></code></a> and
 <a class="reference internal" href="#promod3.modelling.ModellingHandle.sidechain_reconstructor" title="promod3.modelling.ModellingHandle.sidechain_reconstructor"><code class="xref py py-attr docutils literal notranslate"><span class="pre">sidechain_reconstructor</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">Returns:</th><td class="field-body">A deep copy of the current handle</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.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>A deep copy of the current handle</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<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>aln</em>, <em>chain_names=None</em>, <em>include_ligands=False</em>, <em>spdbv_style=False</em>, <em>aln_preprocessing='default'</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BuildRawModel" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.BuildRawModel">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">BuildRawModel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aln</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_names</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">include_ligands</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">spdbv_style</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">aln_preprocessing</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'default'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BuildRawModel" title="Permalink to this definition">¶</a></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="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityView</span></code></a> attached.</p>
+<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityView</span></code></a> attached.</p>
 <p>Before extracting the coordinates, the alignments are pre-processed 
 according to <em>aln_preprocessing</em>.</p>
 <p>This is a basic protein core modelling algorithm that copies backbone
@@ -356,9 +318,9 @@ deuterium atoms are not copied into the model.</p>
 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>
+<li><p>Selenium methionine residues are converted to methionine</p></li>
+<li><p>Side chains which contain all atoms of the parent amino acid, e.g.
+phosphoserine are copied as a whole with the modifications stripped off.</p></li>
 </ul>
 </div></blockquote>
 <p>Residues with missing backbone atoms and D-peptides are generally skipped and
@@ -370,67 +332,63 @@ subsequent loop modelling can insert new residues without having to renumber.
 <strong>The numbering of residues starts for every chain with the value 1</strong>.</p>
 <p>The returned <a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><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>aln</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AlignmentHandle</span></code></a> / <code class="xref py py-class docutils literal notranslate"><span class="pre">AlignmentList</span></code>) – Single alignment handle for raw model with single chain or
-list of alignment handles for raw model with multiple chains.</li>
-<li><strong>include_ligands</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True, if we wish to include ligands in the model. This
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>aln</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">AlignmentHandle</span></code></a> / <code class="xref py py-class docutils literal notranslate"><span class="pre">AlignmentList</span></code>) – Single alignment handle for raw model with single chain or
+list of alignment handles for raw model with multiple chains.</p></li>
+<li><p><strong>include_ligands</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True, if we wish to include ligands in the model. This
 searches for ligands in all OST handles of the views
 attached to the alignments. Ligands are identified
 with the <cite>ligand</cite> property in the handle (set by OST
 based on HET records) or by the chain name ‘_’ (as set
 in SMTL). All ligands are added to a new chain named
-‘_’.</li>
-<li><strong>chain_names</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – If set, this overrides the default chain naming 
+‘_’.</p></li>
+<li><p><strong>chain_names</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – If set, this overrides the default chain naming 
 (chains are consecutively named according to 
 characters in
 ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz’). 
-If <em>aln</em> is of type <a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.AlignmentHandle</span></code></a>, 
-<em>chain_names</em> is expected to be a <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>.
+If <em>aln</em> is of type <a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.AlignmentHandle</span></code></a>, 
+<em>chain_names</em> is expected to be a <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>.
 If <em>aln</em> is of type <code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.AlignmentList</span></code>,
-<em>chain_names</em> is expected to be a <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of 
-<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> of same size as <em>aln</em> or a <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>.
+<em>chain_names</em> is expected to be a <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of 
+<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> of same size as <em>aln</em> or a <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>.
 For the latter case, chains will consecutively named
-according to characters in <em>chain_names</em>.</li>
-<li><strong>spdbv_style</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True, if we need a model in the old SPDBV style.</li>
-<li><strong>aln_preprocessing</strong> – Calls <a class="reference internal" href="#promod3.modelling.PullTerminalDeletions" title="promod3.modelling.PullTerminalDeletions"><code class="xref py py-meth docutils literal notranslate"><span class="pre">promod3.modelling.PullTerminalDeletions()</span></code></a> 
+according to characters in <em>chain_names</em>.</p></li>
+<li><p><strong>spdbv_style</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True, if we need a model in the old SPDBV style.</p></li>
+<li><p><strong>aln_preprocessing</strong> – Calls <a class="reference internal" href="#promod3.modelling.PullTerminalDeletions" title="promod3.modelling.PullTerminalDeletions"><code class="xref py py-meth docutils literal notranslate"><span class="pre">promod3.modelling.PullTerminalDeletions()</span></code></a> 
 if set to ‘default’. Can be disabled when set 
-to False.</li>
+to False.</p></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 notranslate"><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">A <a class="reference external" href="https://docs.python.org/3.7/library/exceptions.html#RuntimeError" title="(in Python v3.7)"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> when:</p>
-<ul class="last simple">
-<li>the alignments do not have two sequences</li>
-<li>the second sequence does not have an attached structure</li>
-<li>the residues of the template structure do not match with the
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Raw (pseudo) model from the alignment.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p>A <a class="reference external" href="https://docs.python.org/3.11/library/exceptions.html#RuntimeError" title="(in Python v3.11)"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> when:</p>
+<ul class="simple">
+<li><p>the alignments do not have two sequences</p></li>
+<li><p>the second sequence does not have an attached structure</p></li>
+<li><p>the residues of the template structure do not match with the
 alignment sequence (note that you can set an “offset” (see
-<a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.AlignmentHandle.SetSequenceOffset" title="(in OpenStructure v2.4.0)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetSequenceOffset()</span></code></a>) for the
-template sequence (but not for the target))</li>
-<li>the target sequence has a non-zero offset (cannot be honored as
-the resulting model will always start its residue numbering at 1)</li>
+<a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.AlignmentHandle.SetSequenceOffset" title="(in OpenStructure v2.9.2)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetSequenceOffset()</span></code></a>) for the
+template sequence (but not for the target))</p></li>
+<li><p>the target sequence has a non-zero offset (cannot be honored as
+the resulting model will always start its residue numbering at 1)</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="the-default-pipeline">
-<h2>The Default Pipeline<a class="headerlink" href="#the-default-pipeline" title="Permalink to this headline">¶</a></h2>
-<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>use_amber_ff=False</em>, <em>extra_force_fields=[]</em>, <em>model_termini=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BuildFromRawModel" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="the-default-pipeline">
+<h2>The Default Pipeline<a class="headerlink" href="#the-default-pipeline" title="Permalink to this heading">¶</a></h2>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.BuildFromRawModel">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">BuildFromRawModel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">use_amber_ff</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">extra_force_fields</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">model_termini</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><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 notranslate"><span class="pre">BuildRawModel()</span></code></a>).</p>
 <p>This function implements a recommended pipeline to generate complete models
 from a raw model. The steps are shown in detail in the code example
@@ -450,25 +408,23 @@ attached using <a class="reference internal" href="#promod3.modelling.SetFragger
 But be aware of increased runtime due to the fragment search step.</p>
 <p>If the 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 notranslate"><span class="pre">ModellingHandle</span></code></a>) – The prepared template coordinates loaded with the input
-alignment.</li>
-<li><strong>use_amber_ff</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – if True, use the AMBER force field instead of the def.
-CHARMM one (see <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/forcefield/#ost.mol.mm.LoadAMBERForcefield" title="(in OpenStructure v2.4.0)"><code class="xref py py-func docutils literal notranslate"><span class="pre">ost.mol.mm.LoadAMBERForcefield()</span></code></a>
-and <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/forcefield/#ost.mol.mm.LoadCHARMMForcefield" title="(in OpenStructure v2.4.0)"><code class="xref py py-func docutils literal notranslate"><span class="pre">ost.mol.mm.LoadCHARMMForcefield()</span></code></a>).
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – The prepared template coordinates loaded with the input
+alignment.</p></li>
+<li><p><strong>use_amber_ff</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – if True, use the AMBER force field instead of the def.
+CHARMM one (see <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/forcefield/#ost.mol.mm.LoadAMBERForcefield" title="(in OpenStructure v2.9.2)"><code class="xref py py-func docutils literal notranslate"><span class="pre">ost.mol.mm.LoadAMBERForcefield()</span></code></a>
+and <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/forcefield/#ost.mol.mm.LoadCHARMMForcefield" title="(in OpenStructure v2.9.2)"><code class="xref py py-func docutils literal notranslate"><span class="pre">ost.mol.mm.LoadCHARMMForcefield()</span></code></a>).
 Both do a similarly good job without ligands (CHARMM
 slightly better), but you will want to be consistent
-with the optional force fields in <cite>extra_force_fields</cite>.</li>
-<li><strong>extra_force_fields</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/forcefield/#ost.mol.mm.Forcefield" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.mm.Forcefield</span></code></a>) – Additional list of force fields to use if a 
+with the optional force fields in <cite>extra_force_fields</cite>.</p></li>
+<li><p><strong>extra_force_fields</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/forcefield/#ost.mol.mm.Forcefield" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.mm.Forcefield</span></code></a>) – Additional list of force fields to use if a 
 (ligand) residue cannot be parametrized with the
 default force field. The force fields are tried
 in the order as given and ligands without an
-existing parametrization are skipped.</li>
-<li><strong>model_termini</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – The default modelling pipeline in ProMod3 is optimized
+existing parametrization are skipped.</p></li>
+<li><p><strong>model_termini</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – The default modelling pipeline in ProMod3 is optimized
 to generate a gap-free model of the region in the 
 target sequence(s) that is covered with template 
 information. Terminal extensions without template 
@@ -477,168 +433,153 @@ You can activate this flag to enforce a model of the
 full target sequence(s). The terminal parts will be 
 modelled with a crude Monte Carlo approach. Be aware
 that the accuracy of those termini is likely to be
-limited.</li>
+limited.</p></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="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Entity</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Delivers the model as an OST entity.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Entity</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="modelling-steps">
-<h2>Modelling Steps<a class="headerlink" href="#modelling-steps" title="Permalink to this headline">¶</a></h2>
-<dl class="function">
-<dt id="promod3.modelling.SetupDefaultBackboneScoring">
-<code class="descclassname">promod3.modelling.</code><code class="descname">SetupDefaultBackboneScoring</code><span class="sig-paren">(</span><em>mhandle</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SetupDefaultBackboneScoring" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="modelling-steps">
+<h2>Modelling Steps<a class="headerlink" href="#modelling-steps" title="Permalink to this heading">¶</a></h2>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.SetupDefaultBackboneScoring">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">SetupDefaultBackboneScoring</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SetupDefaultBackboneScoring" title="Permalink to this definition">¶</a></dt>
 <dd><p>Setup scorers and environment for meddling with backbones.
 This one is already tailored towards a certain modelling job.
 The scorers added (with their respective keys) are:</p>
 <ul class="simple">
-<li>“cb_packing”: <a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.CBPackingScorer" title="promod3.scoring.CBPackingScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBPackingScorer</span></code></a></li>
-<li>“cbeta”: <a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.CBetaScorer" title="promod3.scoring.CBetaScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBetaScorer</span></code></a></li>
-<li>“reduced”: <a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.ReducedScorer" title="promod3.scoring.ReducedScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ReducedScorer</span></code></a></li>
-<li>“clash”: <a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.ClashScorer" title="promod3.scoring.ClashScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ClashScorer</span></code></a></li>
-<li>“hbond”: <a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.HBondScorer" title="promod3.scoring.HBondScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">HBondScorer</span></code></a></li>
-<li>“torsion”: <a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.TorsionScorer" title="promod3.scoring.TorsionScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionScorer</span></code></a></li>
-<li>“pairwise”: <a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.PairwiseScorer" title="promod3.scoring.PairwiseScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">PairwiseScorer</span></code></a></li>
+<li><p>“cb_packing”: <a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.CBPackingScorer" title="promod3.scoring.CBPackingScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBPackingScorer</span></code></a></p></li>
+<li><p>“cbeta”: <a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.CBetaScorer" title="promod3.scoring.CBetaScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBetaScorer</span></code></a></p></li>
+<li><p>“reduced”: <a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.ReducedScorer" title="promod3.scoring.ReducedScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ReducedScorer</span></code></a></p></li>
+<li><p>“clash”: <a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.ClashScorer" title="promod3.scoring.ClashScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ClashScorer</span></code></a></p></li>
+<li><p>“hbond”: <a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.HBondScorer" title="promod3.scoring.HBondScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">HBondScorer</span></code></a></p></li>
+<li><p>“torsion”: <a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.TorsionScorer" title="promod3.scoring.TorsionScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionScorer</span></code></a></p></li>
+<li><p>“pairwise”: <a class="reference internal" href="../scoring/backbone_scorers.html#promod3.scoring.PairwiseScorer" title="promod3.scoring.PairwiseScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">PairwiseScorer</span></code></a></p></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"><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – The modelling handle. This will set the properties
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – The modelling handle. This will set the properties
 <a class="reference internal" href="#promod3.modelling.ModellingHandle.backbone_scorer" title="promod3.modelling.ModellingHandle.backbone_scorer"><code class="xref py py-attr docutils literal notranslate"><span class="pre">backbone_scorer</span></code></a> and
-<a class="reference internal" href="#promod3.modelling.ModellingHandle.backbone_scorer_env" title="promod3.modelling.ModellingHandle.backbone_scorer_env"><code class="xref py py-attr docutils literal notranslate"><span class="pre">backbone_scorer_env</span></code></a> of <cite>mhandle</cite>.</td>
-</tr>
-</tbody>
-</table>
+<a class="reference internal" href="#promod3.modelling.ModellingHandle.backbone_scorer_env" title="promod3.modelling.ModellingHandle.backbone_scorer_env"><code class="xref py py-attr docutils literal notranslate"><span class="pre">backbone_scorer_env</span></code></a> of <cite>mhandle</cite>.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.IsBackboneScoringSetUp">
-<code class="descclassname">promod3.modelling.</code><code class="descname">IsBackboneScoringSetUp</code><span class="sig-paren">(</span><em>mhandle</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.IsBackboneScoringSetUp" 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, if <a class="reference internal" href="#promod3.modelling.ModellingHandle.backbone_scorer" title="promod3.modelling.ModellingHandle.backbone_scorer"><code class="xref py py-attr docutils literal notranslate"><span class="pre">backbone_scorer</span></code></a> and
-<a class="reference internal" href="#promod3.modelling.ModellingHandle.backbone_scorer_env" title="promod3.modelling.ModellingHandle.backbone_scorer_env"><code class="xref py py-attr docutils literal notranslate"><span class="pre">backbone_scorer_env</span></code></a> of <cite>mhandle</cite> are set.</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-<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 notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle to check.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.IsBackboneScoringSetUp">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">IsBackboneScoringSetUp</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.IsBackboneScoringSetUp" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>True, if <a class="reference internal" href="#promod3.modelling.ModellingHandle.backbone_scorer" title="promod3.modelling.ModellingHandle.backbone_scorer"><code class="xref py py-attr docutils literal notranslate"><span class="pre">backbone_scorer</span></code></a> and
+<a class="reference internal" href="#promod3.modelling.ModellingHandle.backbone_scorer_env" title="promod3.modelling.ModellingHandle.backbone_scorer_env"><code class="xref py py-attr docutils literal notranslate"><span class="pre">backbone_scorer_env</span></code></a> of <cite>mhandle</cite> are set.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle to check.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.SetupDefaultAllAtomScoring">
-<code class="descclassname">promod3.modelling.</code><code class="descname">SetupDefaultAllAtomScoring</code><span class="sig-paren">(</span><em>mhandle</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SetupDefaultAllAtomScoring" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.SetupDefaultAllAtomScoring">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">SetupDefaultAllAtomScoring</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SetupDefaultAllAtomScoring" title="Permalink to this definition">¶</a></dt>
 <dd><p>Setup scorers and environment to perform all atom scoring.
 This one is already tailored towards a certain modelling job, where we
 reconstruct sidechains for loop candidates and score them.
 The scorers added (with their respective keys) are:</p>
 <ul class="simple">
-<li>“aa_interaction”: <a class="reference internal" href="../scoring/all_atom_scorers.html#promod3.scoring.AllAtomInteractionScorer" title="promod3.scoring.AllAtomInteractionScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomInteractionScorer</span></code></a></li>
-<li>“aa_packing”: <a class="reference internal" href="../scoring/all_atom_scorers.html#promod3.scoring.AllAtomPackingScorer" title="promod3.scoring.AllAtomPackingScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPackingScorer</span></code></a></li>
-<li>“aa_clash”: <a class="reference internal" href="../scoring/all_atom_scorers.html#promod3.scoring.AllAtomClashScorer" title="promod3.scoring.AllAtomClashScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomClashScorer</span></code></a></li>
+<li><p>“aa_interaction”: <a class="reference internal" href="../scoring/all_atom_scorers.html#promod3.scoring.AllAtomInteractionScorer" title="promod3.scoring.AllAtomInteractionScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomInteractionScorer</span></code></a></p></li>
+<li><p>“aa_packing”: <a class="reference internal" href="../scoring/all_atom_scorers.html#promod3.scoring.AllAtomPackingScorer" title="promod3.scoring.AllAtomPackingScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPackingScorer</span></code></a></p></li>
+<li><p>“aa_clash”: <a class="reference internal" href="../scoring/all_atom_scorers.html#promod3.scoring.AllAtomClashScorer" title="promod3.scoring.AllAtomClashScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomClashScorer</span></code></a></p></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"><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – The modelling handle. This will set the properties
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – The modelling handle. This will set the properties
 <a class="reference internal" href="#promod3.modelling.ModellingHandle.all_atom_scorer_env" title="promod3.modelling.ModellingHandle.all_atom_scorer_env"><code class="xref py py-attr docutils literal notranslate"><span class="pre">all_atom_scorer_env</span></code></a>,
 <a class="reference internal" href="#promod3.modelling.ModellingHandle.all_atom_scorer" title="promod3.modelling.ModellingHandle.all_atom_scorer"><code class="xref py py-attr docutils literal notranslate"><span class="pre">all_atom_scorer</span></code></a>,
 <a class="reference internal" href="#promod3.modelling.ModellingHandle.all_atom_sidechain_env" title="promod3.modelling.ModellingHandle.all_atom_sidechain_env"><code class="xref py py-attr docutils literal notranslate"><span class="pre">all_atom_sidechain_env</span></code></a> and
-<a class="reference internal" href="#promod3.modelling.ModellingHandle.sidechain_reconstructor" title="promod3.modelling.ModellingHandle.sidechain_reconstructor"><code class="xref py py-attr docutils literal notranslate"><span class="pre">sidechain_reconstructor</span></code></a>.</td>
-</tr>
-</tbody>
-</table>
+<a class="reference internal" href="#promod3.modelling.ModellingHandle.sidechain_reconstructor" title="promod3.modelling.ModellingHandle.sidechain_reconstructor"><code class="xref py py-attr docutils literal notranslate"><span class="pre">sidechain_reconstructor</span></code></a>.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.IsAllAtomScoringSetUp">
-<code class="descclassname">promod3.modelling.</code><code class="descname">IsAllAtomScoringSetUp</code><span class="sig-paren">(</span><em>mhandle</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.IsAllAtomScoringSetUp" 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, if <a class="reference internal" href="#promod3.modelling.ModellingHandle.all_atom_scorer_env" title="promod3.modelling.ModellingHandle.all_atom_scorer_env"><code class="xref py py-attr docutils literal notranslate"><span class="pre">all_atom_scorer_env</span></code></a>,
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.IsAllAtomScoringSetUp">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">IsAllAtomScoringSetUp</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.IsAllAtomScoringSetUp" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>True, if <a class="reference internal" href="#promod3.modelling.ModellingHandle.all_atom_scorer_env" title="promod3.modelling.ModellingHandle.all_atom_scorer_env"><code class="xref py py-attr docutils literal notranslate"><span class="pre">all_atom_scorer_env</span></code></a>,
 <a class="reference internal" href="#promod3.modelling.ModellingHandle.all_atom_scorer" title="promod3.modelling.ModellingHandle.all_atom_scorer"><code class="xref py py-attr docutils literal notranslate"><span class="pre">all_atom_scorer</span></code></a>,
 <a class="reference internal" href="#promod3.modelling.ModellingHandle.all_atom_sidechain_env" title="promod3.modelling.ModellingHandle.all_atom_sidechain_env"><code class="xref py py-attr docutils literal notranslate"><span class="pre">all_atom_sidechain_env</span></code></a> and
-<a class="reference internal" href="#promod3.modelling.ModellingHandle.sidechain_reconstructor" title="promod3.modelling.ModellingHandle.sidechain_reconstructor"><code class="xref py py-attr docutils literal notranslate"><span class="pre">sidechain_reconstructor</span></code></a> of <cite>mhandle</cite> are set.</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-<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 notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle to check.</td>
-</tr>
-</tbody>
-</table>
+<a class="reference internal" href="#promod3.modelling.ModellingHandle.sidechain_reconstructor" title="promod3.modelling.ModellingHandle.sidechain_reconstructor"><code class="xref py py-attr docutils literal notranslate"><span class="pre">sidechain_reconstructor</span></code></a> of <cite>mhandle</cite> are set.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle to check.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.InsertLoop">
-<code class="descclassname">promod3.modelling.</code><code class="descname">InsertLoop</code><span class="sig-paren">(</span><em>mhandle</em>, <em>bb_list</em>, <em>start_resnum</em>, <em>chain_idx</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.InsertLoop" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.InsertLoop">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">InsertLoop</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bb_list</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.InsertLoop" title="Permalink to this definition">¶</a></dt>
 <dd><p>Insert loop into model and ensure consistent updating of scoring environments.
 Note that we do not update <a class="reference internal" href="#promod3.modelling.ModellingHandle.all_atom_scorer_env" title="promod3.modelling.ModellingHandle.all_atom_scorer_env"><code class="xref py py-attr docutils literal notranslate"><span class="pre">all_atom_scorer_env</span></code></a> as
 that one is meant to be updated only while scoring. To clear a gap while
 inserting a loop, use the simpler <a class="reference internal" href="gap_handling.html#promod3.modelling.InsertLoopClearGaps" title="promod3.modelling.InsertLoopClearGaps"><code class="xref py py-meth docutils literal notranslate"><span class="pre">InsertLoopClearGaps()</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>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</li>
-<li><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Loop to insert (backbone only).</li>
-<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number defining the start position in the SEQRES.</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the loop belongs to.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</p></li>
+<li><p><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Loop to insert (backbone only).</p></li>
+<li><p><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number defining the start position in the SEQRES.</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the loop belongs to.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </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>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.RemoveTerminalGaps">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">RemoveTerminalGaps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.RemoveTerminalGaps" title="Permalink to this definition">¶</a></dt>
 <dd><p>Removes terminal gaps without modelling them (just removes them from the list
 of gaps). This is useful for pipelines which lack the possibility to properly
 model loops at the termini.</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 notranslate"><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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Number of gaps which were removed.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.ReorderGaps">
-<code class="descclassname">promod3.modelling.</code><code class="descname">ReorderGaps</code><span class="sig-paren">(</span><em>mhandle</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ReorderGaps" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.ReorderGaps">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">ReorderGaps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ReorderGaps" title="Permalink to this definition">¶</a></dt>
 <dd><p>Reorders all gaps to ensure sequential order by performing lexicographical
 comparison on the sequence formed by chain index of the gap and
 start residue number.</p>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.MergeMHandle">
-<code class="descclassname">promod3.modelling.</code><code class="descname">MergeMHandle</code><span class="sig-paren">(</span><em>source_mhandle</em>, <em>target_mhandle</em>, <em>source_chain_idx</em>, <em>target_chain_idx</em>, <em>start_resnum</em>, <em>end_resnum</em>, <em>transform</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.MergeMHandle" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.MergeMHandle">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">MergeMHandle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">source_mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">target_mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">source_chain_idx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">target_chain_idx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">end_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">transform</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.MergeMHandle" title="Permalink to this definition">¶</a></dt>
 <dd><p>Merges the specified stretch of <strong>source_mhandle</strong> into <strong>target_mhandle</strong> by
 replacing all structural information and gaps in the stretch
 <strong>start_resnum</strong> and <strong>end_resnum</strong> (inclusive). The residues specified by
@@ -648,164 +589,144 @@ i.e. not be enclosed by a gap. If a gap encloses <strong>start_resnum</strong> o
 shortened version not including the part overlapping with the defined stretch.
 If there is any scoring set up (backbone or all atom), the according
 environments get updated in <strong>target_mhandle</strong>.</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>source_mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Source of structural information and gaps</li>
-<li><strong>target_mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Structural information and gaps will be copied in here</li>
-<li><strong>source_chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – This is the chain where the info comes from</li>
-<li><strong>target_chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – This is the chain where the info goes to</li>
-<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – First residue of the copied stretch</li>
-<li><strong>end_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Last residue of the copied stretch</li>
-<li><strong>transform</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Mat4</span></code></a>) – Transformation to be applied to all atom positions when
-they’re copied over</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>source_mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Source of structural information and gaps</p></li>
+<li><p><strong>target_mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Structural information and gaps will be copied in here</p></li>
+<li><p><strong>source_chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – This is the chain where the info comes from</p></li>
+<li><p><strong>target_chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – This is the chain where the info goes to</p></li>
+<li><p><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – First residue of the copied stretch</p></li>
+<li><p><strong>end_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Last residue of the copied stretch</p></li>
+<li><p><strong>transform</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/mat/#ost.geom.Mat4" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Mat4</span></code></a>) – Transformation to be applied to all atom positions when
+they’re copied over</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first">A <a class="reference external" href="https://docs.python.org/3.7/library/exceptions.html#RuntimeError" title="(in Python v3.7)"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> when:</p>
-<ul class="last simple">
-<li>the chain indices are invalid</li>
-<li>the SEQRES of the specified chains do not match</li>
-<li>the start and end residue numbers are invalid or when the residues
-at the specified positions in the <strong>source_mhandle</strong> do not exist</li>
-<li>a gap in the <strong>source_mhandle</strong> encloses the residues specified by
-<strong>start_resnum</strong> and <strong>end_resnum</strong></li>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p>A <a class="reference external" href="https://docs.python.org/3.11/library/exceptions.html#RuntimeError" title="(in Python v3.11)"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code></a> when:</p>
+<ul class="simple">
+<li><p>the chain indices are invalid</p></li>
+<li><p>the SEQRES of the specified chains do not match</p></li>
+<li><p>the start and end residue numbers are invalid or when the residues
+at the specified positions in the <strong>source_mhandle</strong> do not exist</p></li>
+<li><p>a gap in the <strong>source_mhandle</strong> encloses the residues specified by
+<strong>start_resnum</strong> and <strong>end_resnum</strong></p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.SetSequenceProfiles">
-<code class="descclassname">promod3.modelling.</code><code class="descname">SetSequenceProfiles</code><span class="sig-paren">(</span><em>mhandle</em>, <em>profiles</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SetSequenceProfiles" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.SetSequenceProfiles">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">SetSequenceProfiles</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">profiles</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SetSequenceProfiles" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sets the <a class="reference internal" href="#promod3.modelling.ModellingHandle.profiles" title="promod3.modelling.ModellingHandle.profiles"><code class="xref py py-attr docutils literal notranslate"><span class="pre">sequence</span> <span class="pre">profiles</span></code></a> of <strong>mhandle</strong>
 while ensuring consistency with the <a class="reference internal" href="#promod3.modelling.ModellingHandle.seqres" title="promod3.modelling.ModellingHandle.seqres"><code class="xref py py-attr docutils literal notranslate"><span class="pre">seqres</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 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 notranslate"><span class="pre">ModellingHandle</span></code></a>) – Will have the profiles attached afterwards</li>
-<li><strong>profiles</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a>) – The sequence profiles to attach</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Will have the profiles attached afterwards</p></li>
+<li><p><strong>profiles</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.ProfileHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.ProfileHandle</span></code></a>) – The sequence profiles to attach</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/3.7/library/exceptions.html#ValueError" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ValueError</span></code></a> when the given <strong>profiles</strong> are not consistent
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/exceptions.html#ValueError" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ValueError</span></code></a> when the given <strong>profiles</strong> are not consistent
 with seqres in <strong>mhandle</strong></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.SetPsipredPredictions">
-<code class="descclassname">promod3.modelling.</code><code class="descname">SetPsipredPredictions</code><span class="sig-paren">(</span><em>mhandle</em>, <em>predictions</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SetPsipredPredictions" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.SetPsipredPredictions">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">SetPsipredPredictions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">predictions</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SetPsipredPredictions" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sets the <a class="reference internal" href="#promod3.modelling.ModellingHandle.psipred_predictions" title="promod3.modelling.ModellingHandle.psipred_predictions"><code class="xref py py-attr docutils literal notranslate"><span class="pre">predictions</span></code></a> of
 <strong>mhandle</strong> while ensuring consistency with the
 <a class="reference internal" href="#promod3.modelling.ModellingHandle.seqres" title="promod3.modelling.ModellingHandle.seqres"><code class="xref py py-attr docutils literal notranslate"><span class="pre">seqres</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 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 notranslate"><span class="pre">ModellingHandle</span></code></a>) – Will have the predictions attached afterwards</li>
-<li><strong>predictions</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="../loop/structure_db.html#promod3.loop.PsipredPrediction" title="promod3.loop.PsipredPrediction"><code class="xref py py-class docutils literal notranslate"><span class="pre">PsipredPrediction</span></code></a>) – The predictions to attach</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Will have the predictions attached afterwards</p></li>
+<li><p><strong>predictions</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="../loop/structure_db.html#promod3.loop.PsipredPrediction" title="promod3.loop.PsipredPrediction"><code class="xref py py-class docutils literal notranslate"><span class="pre">PsipredPrediction</span></code></a>) – The predictions to attach</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/3.7/library/exceptions.html#ValueError" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ValueError</span></code></a> when the given <strong>predictions</strong> are not consistent
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/exceptions.html#ValueError" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ValueError</span></code></a> when the given <strong>predictions</strong> are not consistent
 with seqres in <strong>mhandle</strong></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.SetFraggerHandles">
-<code class="descclassname">promod3.modelling.</code><code class="descname">SetFraggerHandles</code><span class="sig-paren">(</span><em>mhandle</em>, <em>fragger_handles</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SetFraggerHandles" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.SetFraggerHandles">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">SetFraggerHandles</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fragger_handles</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SetFraggerHandles" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sets <a class="reference internal" href="#promod3.modelling.ModellingHandle.fragger_handles" title="promod3.modelling.ModellingHandle.fragger_handles"><code class="xref py py-attr docutils literal notranslate"><span class="pre">fragger_handles</span></code></a> in <em>mhandle</em> while
 ensuring consistency with the <a class="reference internal" href="#promod3.modelling.ModellingHandle.seqres" title="promod3.modelling.ModellingHandle.seqres"><code class="xref py py-attr docutils literal notranslate"><span class="pre">ModellingHandle.seqres</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 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 notranslate"><span class="pre">ModellingHandle</span></code></a>) – Will have the fragger handles attached afterwards</li>
-<li><strong>fragger_handles</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="algorithms.html#promod3.modelling.FraggerHandle" title="promod3.modelling.FraggerHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">FraggerHandle</span></code></a>) – The fragger handles to attach</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Will have the fragger handles attached afterwards</p></li>
+<li><p><strong>fragger_handles</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="algorithms.html#promod3.modelling.FraggerHandle" title="promod3.modelling.FraggerHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">FraggerHandle</span></code></a>) – The fragger handles to attach</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/3.7/library/exceptions.html#ValueError" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ValueError</span></code></a> when the given <em>fragger_handles</em> are not 
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/exceptions.html#ValueError" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ValueError</span></code></a> when the given <em>fragger_handles</em> are not 
 consistent with seqres in <em>mhandle</em></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.CloseGaps">
-<code class="descclassname">promod3.modelling.</code><code class="descname">CloseGaps</code><span class="sig-paren">(</span><em>mhandle</em>, <em>merge_distance=4</em>, <em>fragment_db=None</em>, <em>structure_db=None</em>, <em>torsion_sampler=None</em>, <em>fragger_handles=None</em>, <em>chain_idx=None</em>, <em>resnum_range=None</em>, <em>length_dep_weights=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CloseGaps" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.CloseGaps">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">CloseGaps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">merge_distance</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fragment_db</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">structure_db</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">torsion_sampler</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fragger_handles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resnum_range</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">length_dep_weights</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CloseGaps" title="Permalink to this definition">¶</a></dt>
 <dd><p>Tries to close all gaps in a model, except termini. It will go through
 following steps:</p>
 <ul class="simple">
-<li>Try to close small deletions by relaxing them 
-(see <a class="reference internal" href="#promod3.modelling.CloseSmallDeletions" title="promod3.modelling.CloseSmallDeletions"><code class="xref py py-func docutils literal notranslate"><span class="pre">CloseSmallDeletions()</span></code></a>)</li>
-<li>Iteratively merge gaps up to a distance <strong>merge_distance</strong>
+<li><p>Try to close small deletions by relaxing them 
+(see <a class="reference internal" href="#promod3.modelling.CloseSmallDeletions" title="promod3.modelling.CloseSmallDeletions"><code class="xref py py-func docutils literal notranslate"><span class="pre">CloseSmallDeletions()</span></code></a>)</p></li>
+<li><p>Iteratively merge gaps up to a distance <strong>merge_distance</strong>
 (see <a class="reference internal" href="#promod3.modelling.MergeGapsByDistance" title="promod3.modelling.MergeGapsByDistance"><code class="xref py py-func docutils literal notranslate"><span class="pre">MergeGapsByDistance()</span></code></a>) and try to fill them with a database 
-approach (see <a class="reference internal" href="#promod3.modelling.FillLoopsByDatabase" title="promod3.modelling.FillLoopsByDatabase"><code class="xref py py-func docutils literal notranslate"><span class="pre">FillLoopsByDatabase()</span></code></a>)</li>
-<li>Try to fill remaining gaps using a Monte Carlo approach
-(see <a class="reference internal" href="#promod3.modelling.FillLoopsByMonteCarlo" title="promod3.modelling.FillLoopsByMonteCarlo"><code class="xref py py-func docutils literal notranslate"><span class="pre">FillLoopsByMonteCarlo()</span></code></a>)</li>
-<li>Large deletions get closed using a last resort approach
-(see <a class="reference internal" href="#promod3.modelling.CloseLargeDeletions" title="promod3.modelling.CloseLargeDeletions"><code class="xref py py-func docutils literal notranslate"><span class="pre">CloseLargeDeletions()</span></code></a>)</li>
+approach (see <a class="reference internal" href="#promod3.modelling.FillLoopsByDatabase" title="promod3.modelling.FillLoopsByDatabase"><code class="xref py py-func docutils literal notranslate"><span class="pre">FillLoopsByDatabase()</span></code></a>)</p></li>
+<li><p>Try to fill remaining gaps using a Monte Carlo approach
+(see <a class="reference internal" href="#promod3.modelling.FillLoopsByMonteCarlo" title="promod3.modelling.FillLoopsByMonteCarlo"><code class="xref py py-func docutils literal notranslate"><span class="pre">FillLoopsByMonteCarlo()</span></code></a>)</p></li>
+<li><p>Large deletions get closed using a last resort approach
+(see <a class="reference internal" href="#promod3.modelling.CloseLargeDeletions" title="promod3.modelling.CloseLargeDeletions"><code class="xref py py-func docutils literal notranslate"><span class="pre">CloseLargeDeletions()</span></code></a>)</p></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 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 notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</li>
-<li><strong>merge_distance</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Max. merge distance when performing the database 
-approach</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 notranslate"><span class="pre">FragDB</span></code></a>) – Database for searching fragments in database 
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</p></li>
+<li><p><strong>merge_distance</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Max. merge distance when performing the database 
+approach</p></li>
+<li><p><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 notranslate"><span class="pre">FragDB</span></code></a>) – Database for searching fragments in database 
 approach, must be consistent with provided
-<strong>structure_db</strong>. A default is loaded if None.</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 notranslate"><span class="pre">StructureDB</span></code></a>) – Structure db from which the <strong>fragment_db</strong> gets
+<strong>structure_db</strong>. A default is loaded if None.</p></li>
+<li><p><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 notranslate"><span class="pre">StructureDB</span></code></a>) – Structure db from which the <strong>fragment_db</strong> gets
 it’s structural information. A default is loaded 
-if None.</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 notranslate"><span class="pre">promod3.loop.TorsionSampler</span></code></a>) – Used as parameter for <a class="reference internal" href="#promod3.modelling.FillLoopsByDatabase" title="promod3.modelling.FillLoopsByDatabase"><code class="xref py py-func docutils literal notranslate"><span class="pre">FillLoopsByDatabase()</span></code></a>
+if None.</p></li>
+<li><p><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 notranslate"><span class="pre">promod3.loop.TorsionSampler</span></code></a>) – Used as parameter for <a class="reference internal" href="#promod3.modelling.FillLoopsByDatabase" title="promod3.modelling.FillLoopsByDatabase"><code class="xref py py-func docutils literal notranslate"><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 notranslate"><span class="pre">FillLoopsByMonteCarlo()</span></code></a> A default one is 
-loaded if None.</li>
-<li><strong>fragger_handles</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – A list of <a class="reference internal" href="algorithms.html#promod3.modelling.FraggerHandle" title="promod3.modelling.FraggerHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.modelling.FraggerHandle</span></code></a>
+loaded if None.</p></li>
+<li><p><strong>fragger_handles</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – A list of <a class="reference internal" href="algorithms.html#promod3.modelling.FraggerHandle" title="promod3.modelling.FraggerHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.modelling.FraggerHandle</span></code></a>
 objects for each chain in <strong>mhandle</strong>. 
 If provided, fragments will be used for
 sampling when the <a class="reference internal" href="#promod3.modelling.FillLoopsByMonteCarlo" title="promod3.modelling.FillLoopsByMonteCarlo"><code class="xref py py-func docutils literal notranslate"><span class="pre">FillLoopsByMonteCarlo()</span></code></a>
-gets executed.</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps from chain with given index get
-processed</li>
-<li><strong>resnum_range</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#tuple" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> containing two <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps within this resnum range get
-processed.</li>
-<li><strong>length_dep_weights</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – <a class="reference internal" href="loop_candidates.html#promod3.modelling.ScoringWeights" title="promod3.modelling.ScoringWeights"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoringWeights</span></code></a> provides different sets
+gets executed.</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps from chain with given index get
+processed</p></li>
+<li><p><strong>resnum_range</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#tuple" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> containing two <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps within this resnum range get
+processed.</p></li>
+<li><p><strong>length_dep_weights</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – <a class="reference internal" href="loop_candidates.html#promod3.modelling.ScoringWeights" title="promod3.modelling.ScoringWeights"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoringWeights</span></code></a> provides different sets
 of weights that have been trained on different
 loop subsets. If this flag is true, the length
 dependent weights are used to close loops with
-database / Monte Carlo.</li>
+database / Monte Carlo.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </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>max_extension=9</em>, <em>clash_thresh=1.0</em>, <em>e_thresh=200</em>, <em>use_scoring_extender=True</em>, <em>use_full_extender=True</em>, <em>chain_idx=None</em>, <em>resnum_range=None</em>, <em>ff_lookup=None</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CloseSmallDeletions" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.CloseSmallDeletions">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">CloseSmallDeletions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_extension</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">9</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">clash_thresh</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">e_thresh</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">200</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">use_scoring_extender</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">use_full_extender</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resnum_range</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ff_lookup</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><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.
@@ -813,8 +734,8 @@ 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 notranslate"><span class="pre">mhandle.gaps</span></code>.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span><span class="p">,</span> <span class="n">seq</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">modelling</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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">seq</span>
+<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">modelling</span>
 
 <span class="c1"># setup</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="s1">&#39;data/gly.pdb&#39;</span><span class="p">)</span>
@@ -828,18 +749,16 @@ solution is stereochemically sensible.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Number of gaps after: </span><span class="si">%d</span><span class="s1">&#39;</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>
 </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 notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</li>
-<li><strong>max_extension</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Maximal number of gap extension steps to perform
-(see <a class="reference internal" href="gap_handling.html#promod3.modelling.GapExtender" title="promod3.modelling.GapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">GapExtender</span></code></a>)</li>
-<li><strong>clash_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Threshold for the backbone clash score. Acceptance
-means being lower than this.</li>
-<li><strong>e_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Potential energy should be lower than this.</li>
-<li><strong>use_scoring_extender</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True = use <a class="reference internal" href="gap_handling.html#promod3.modelling.ScoringGapExtender" title="promod3.modelling.ScoringGapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoringGapExtender</span></code></a> instead
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</p></li>
+<li><p><strong>max_extension</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Maximal number of gap extension steps to perform
+(see <a class="reference internal" href="gap_handling.html#promod3.modelling.GapExtender" title="promod3.modelling.GapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">GapExtender</span></code></a>)</p></li>
+<li><p><strong>clash_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Threshold for the backbone clash score. Acceptance
+means being lower than this.</p></li>
+<li><p><strong>e_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Potential energy should be lower than this.</p></li>
+<li><p><strong>use_scoring_extender</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True = use <a class="reference internal" href="gap_handling.html#promod3.modelling.ScoringGapExtender" title="promod3.modelling.ScoringGapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoringGapExtender</span></code></a> instead
 of <a class="reference internal" href="gap_handling.html#promod3.modelling.GapExtender" title="promod3.modelling.GapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">GapExtender</span></code></a>.
 The gap is penalized according as
 0.8*length + sum(helices) + sum(sheets).
@@ -847,32 +766,30 @@ 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 notranslate"><span class="pre">BuildRawModel()</span></code></a> is
 called (e.g. with 
-<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/alg/molalg/#ost.mol.alg.AssignSecStruct" title="(in OpenStructure v2.4.0)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.alg.AssignSecStruct()</span></code></a>).</li>
-<li><strong>use_full_extender</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True = use <a class="reference internal" href="gap_handling.html#promod3.modelling.FullGapExtender" title="promod3.modelling.FullGapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">FullGapExtender</span></code></a> instead of
+<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/alg/molalg/#ost.mol.alg.AssignSecStruct" title="(in OpenStructure v2.9.2)"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ost.mol.alg.AssignSecStruct()</span></code></a>).</p></li>
+<li><p><strong>use_full_extender</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True = use <a class="reference internal" href="gap_handling.html#promod3.modelling.FullGapExtender" title="promod3.modelling.FullGapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">FullGapExtender</span></code></a> instead of
 of <a class="reference internal" href="gap_handling.html#promod3.modelling.GapExtender" title="promod3.modelling.GapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">GapExtender</span></code></a>. Also works in combination
 with <cite>use_scoring_extender</cite>. This allows the gap
 extender to skip neighboring gaps and to correctly
-handle gaps close to termini.</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps from chain with given index get
-processed</li>
-<li><strong>resnum_range</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#tuple" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> containing two <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps within this resnum range get
-processed.</li>
-<li><strong>ff_lookup</strong> (<a class="reference internal" href="../loop/mm_system_creation.html#promod3.loop.ForcefieldLookup" title="promod3.loop.ForcefieldLookup"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.ForcefieldLookup</span></code></a>) – Forcefield to parametrize 
+handle gaps close to termini.</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps from chain with given index get
+processed</p></li>
+<li><p><strong>resnum_range</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#tuple" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> containing two <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps within this resnum range get
+processed.</p></li>
+<li><p><strong>ff_lookup</strong> (<a class="reference internal" href="../loop/mm_system_creation.html#promod3.loop.ForcefieldLookup" title="promod3.loop.ForcefieldLookup"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.ForcefieldLookup</span></code></a>) – Forcefield to parametrize 
 <a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.BackboneList</span></code></a> in 
-<a class="reference internal" href="loop_closing.html#promod3.modelling.BackboneRelaxer" title="promod3.modelling.BackboneRelaxer"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.modelling.BackboneRelaxer</span></code></a>.
+<a class="reference internal" href="loop_closing.html#id3" title="promod3.modelling.BackboneRelaxer"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.modelling.BackboneRelaxer</span></code></a>.
 If set to None, the one returned by
 <a class="reference internal" href="../loop/mm_system_creation.html#promod3.loop.ForcefieldLookup.GetDefault" title="promod3.loop.ForcefieldLookup.GetDefault"><code class="xref py py-func docutils literal notranslate"><span class="pre">promod3.loop.ForcefieldLookup.GetDefault()</span></code></a> 
-gets used.</li>
+gets used.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </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>, <em>chain_idx=None</em>, <em>resnum_range=None</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.MergeGapsByDistance" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.MergeGapsByDistance">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">MergeGapsByDistance</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">distance</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resnum_range</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><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
@@ -880,8 +797,8 @@ 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>
 <p>IMPORTANT: we assume here that <em>mhandle</em> stores gaps sequentially.
 Non-sequential gaps are ignored!</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span><span class="p">,</span> <span class="n">seq</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">modelling</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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">seq</span>
+<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">modelling</span>
 
 <span class="c1"># setup</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="s1">&#39;data/1crn_cut.pdb&#39;</span><span class="p">)</span>
@@ -897,35 +814,31 @@ Non-sequential gaps are ignored!</p>
 <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Number of gaps after: </span><span class="si">%d</span><span class="s1">&#39;</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>
 </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 notranslate"><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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The max. no. of residues between two gaps up to which
-merge happens.</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps from chain with given index get
-processed</li>
-<li><strong>resnum_range</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#tuple" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> containing two <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, two gaps only get merged if they’re
-both in this resnum range.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</p></li>
+<li><p><strong>distance</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The max. no. of residues between two gaps up to which
+merge happens.</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps from chain with given index get
+processed</p></li>
+<li><p><strong>resnum_range</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#tuple" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> containing two <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, two gaps only get merged if they’re
+both in this resnum range.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </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>fragment_db</em>, <em>structure_db</em>, <em>torsion_sampler=None</em>, <em>max_loops_to_search=40</em>, <em>min_loops_required=4</em>, <em>max_res_extension=-1</em>, <em>extended_search=True</em>, <em>use_scoring_extender=True</em>, <em>use_full_extender=True</em>, <em>score_variant=0</em>, <em>ring_punch_detection=1</em>, <em>chain_idx=None</em>, <em>resnum_range=None</em>, <em>max_num_all_atom=0</em>, <em>clash_thresh=-1</em>, <em>length_dep_weights=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FillLoopsByDatabase" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.FillLoopsByDatabase">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">FillLoopsByDatabase</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fragment_db</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">structure_db</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">torsion_sampler</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_loops_to_search</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">40</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_loops_required</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_res_extension</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">extended_search</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">use_scoring_extender</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">use_full_extender</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">score_variant</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ring_punch_detection</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resnum_range</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_num_all_atom</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">clash_thresh</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">-1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">length_dep_weights</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><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-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span><span class="p">,</span> <span class="n">seq</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">modelling</span><span class="p">,</span> <span class="n">loop</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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">seq</span>
+<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">modelling</span><span class="p">,</span> <span class="n">loop</span>
 
 <span class="c1"># setup</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="s1">&#39;data/1crn_cut.pdb&#39;</span><span class="p">)</span>
@@ -943,85 +856,81 @@ This function cannot fill gaps at C- or N-terminal.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Number of gaps after: </span><span class="si">%d</span><span class="s1">&#39;</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>
 </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 notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</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 notranslate"><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 notranslate"><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 notranslate"><span class="pre">TorsionSampler</span></code></a>) – A sampler for torsion angles. A default one is 
-loaded if None.</li>
-<li><strong>max_loops_to_search</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Define how many candidates are ‘enough’ to be
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</p></li>
+<li><p><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 notranslate"><span class="pre">FragDB</span></code></a>) – A fragment database coupled to the <em>structure_db</em>.</p></li>
+<li><p><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 notranslate"><span class="pre">StructureDB</span></code></a>) – Backbone/profile data.</p></li>
+<li><p><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 notranslate"><span class="pre">TorsionSampler</span></code></a>) – A sampler for torsion angles. A default one is 
+loaded if None.</p></li>
+<li><p><strong>max_loops_to_search</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Define how many candidates are ‘enough’ to be
 evaluated per loop. The actual found candidates
 may be more (if we found ‘enough’) or less (if
-not enough candidates exist) of this number.</li>
-<li><strong>min_loops_required</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Define how many candidates we require to close
+not enough candidates exist) of this number.</p></li>
+<li><p><strong>min_loops_required</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Define how many candidates we require to close
 the loop. If we did not find at least this number
 of candidates for a gap, we skip it without
 closing. Can be set to <code class="docutils literal notranslate"><span class="pre">max_loops_to_search</span></code>
 (or equivalently to -1) to enforce that we only
-close gaps for which we found enough candidates.</li>
-<li><strong>max_res_extension</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Only allow this number of residues to be added to
+close gaps for which we found enough candidates.</p></li>
+<li><p><strong>max_res_extension</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Only allow this number of residues to be added to
 the gaps when extending. If set to <strong>-1</strong>, any
 number of residues can be added (as long as the
-<cite>fragment_db</cite> allows it).</li>
-<li><strong>extended_search</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True = more loop candidates are considered.
+<cite>fragment_db</cite> allows it).</p></li>
+<li><p><strong>extended_search</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><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_candidates.html#promod3.modelling.LoopCandidates.FillFromDatabase" title="promod3.modelling.LoopCandidates.FillFromDatabase"><code class="xref py py-meth docutils literal notranslate"><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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True = use <a class="reference internal" href="gap_handling.html#promod3.modelling.ScoringGapExtender" title="promod3.modelling.ScoringGapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoringGapExtender</span></code></a> instead
+same though (only more of them considered).</p></li>
+<li><p><strong>use_scoring_extender</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True = use <a class="reference internal" href="gap_handling.html#promod3.modelling.ScoringGapExtender" title="promod3.modelling.ScoringGapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoringGapExtender</span></code></a> instead
 of <a class="reference internal" href="gap_handling.html#promod3.modelling.GapExtender" title="promod3.modelling.GapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">GapExtender</span></code></a>.
-See <a class="reference internal" href="#promod3.modelling.CloseSmallDeletions" title="promod3.modelling.CloseSmallDeletions"><code class="xref py py-func docutils literal notranslate"><span class="pre">CloseSmallDeletions()</span></code></a>.</li>
-<li><strong>use_full_extender</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True = use <a class="reference internal" href="gap_handling.html#promod3.modelling.FullGapExtender" title="promod3.modelling.FullGapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">FullGapExtender</span></code></a> instead of
+See <a class="reference internal" href="#promod3.modelling.CloseSmallDeletions" title="promod3.modelling.CloseSmallDeletions"><code class="xref py py-func docutils literal notranslate"><span class="pre">CloseSmallDeletions()</span></code></a>.</p></li>
+<li><p><strong>use_full_extender</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True = use <a class="reference internal" href="gap_handling.html#promod3.modelling.FullGapExtender" title="promod3.modelling.FullGapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">FullGapExtender</span></code></a> instead of
 <a class="reference internal" href="gap_handling.html#promod3.modelling.GapExtender" title="promod3.modelling.GapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">GapExtender</span></code></a>.
-See <a class="reference internal" href="#promod3.modelling.CloseSmallDeletions" title="promod3.modelling.CloseSmallDeletions"><code class="xref py py-func docutils literal notranslate"><span class="pre">CloseSmallDeletions()</span></code></a>.</li>
-<li><strong>score_variant</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – <p>How to score loop candidates. Options:</p>
+See <a class="reference internal" href="#promod3.modelling.CloseSmallDeletions" title="promod3.modelling.CloseSmallDeletions"><code class="xref py py-func docutils literal notranslate"><span class="pre">CloseSmallDeletions()</span></code></a>.</p></li>
+<li><p><strong>score_variant</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – <p>How to score loop candidates. Options:</p>
 <ul>
-<li><strong>0</strong>: put frame of backbone residues enclosing all
+<li><p><strong>0</strong>: put frame of backbone residues enclosing all
 candidates and score frame. This will also “score”
-non-modelled residues!</li>
-<li><strong>1</strong>: score candidates directly</li>
-<li><strong>2</strong>: like <strong>1</strong> but penalize length of candidate</li>
+non-modelled residues!</p></li>
+<li><p><strong>1</strong>: score candidates directly</p></li>
+<li><p><strong>2</strong>: like <strong>1</strong> but penalize length of candidate</p></li>
 </ul>
-</li>
-<li><strong>ring_punch_detection</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – <p>How to deal with ring punchings. Options:</p>
+</p></li>
+<li><p><strong>ring_punch_detection</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – <p>How to deal with ring punchings. Options:</p>
 <ul>
-<li><strong>0</strong>: not at all (fastest)</li>
-<li><strong>1</strong>: check for punchings with existing rings</li>
-<li><strong>2</strong>: check incl. sidechain for loop cand.</li>
+<li><p><strong>0</strong>: not at all (fastest)</p></li>
+<li><p><strong>1</strong>: check for punchings with existing rings</p></li>
+<li><p><strong>2</strong>: check incl. sidechain for loop cand.</p></li>
 </ul>
-</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps from chain with given index get
-processed</li>
-<li><strong>resnum_range</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#tuple" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> containing two <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps within this resnum range get
-processed</li>
-<li><strong>max_num_all_atom</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If &gt; 0, we prefilter loop candidates based on
+</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps from chain with given index get
+processed</p></li>
+<li><p><strong>resnum_range</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#tuple" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> containing two <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps within this resnum range get
+processed</p></li>
+<li><p><strong>max_num_all_atom</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If &gt; 0, we prefilter loop candidates based on
 non-all-atom-scores and apply all atom scoring to
 the best <em>max_num_all_atom</em> candidates. If desired,
 <em>5</em> is a good value here (larger values give only
 numerical improvement). With <em>5</em>, this will be
 approx. 2x slower than without and will give a
-slight improvement in loop selection.</li>
-<li><strong>clash_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – If &gt; 0, we only keep loop candidates which have a
-backbone clash score lower than this.</li>
-<li><strong>length_dep_weights</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – <a class="reference internal" href="loop_candidates.html#promod3.modelling.ScoringWeights" title="promod3.modelling.ScoringWeights"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoringWeights</span></code></a> provides different sets
+slight improvement in loop selection.</p></li>
+<li><p><strong>clash_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – If &gt; 0, we only keep loop candidates which have a
+backbone clash score lower than this.</p></li>
+<li><p><strong>length_dep_weights</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – <a class="reference internal" href="loop_candidates.html#promod3.modelling.ScoringWeights" title="promod3.modelling.ScoringWeights"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoringWeights</span></code></a> provides different sets
 of weights that have been trained on different
 loop subsets. If this flag is true, the length
 dependent weights are used to select the final 
-loops.</li>
+loops.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </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>torsion_sampler=None</em>, <em>max_loops_to_search=6</em>, <em>max_extension=30</em>, <em>mc_num_loops=2</em>, <em>mc_steps=5000</em>, <em>use_scoring_extender=True</em>, <em>use_full_extender=True</em>, <em>score_variant=0</em>, <em>ring_punch_detection=1</em>, <em>fragger_handles=None</em>, <em>chain_idx=None</em>, <em>resnum_range=None</em>, <em>length_dep_weights=False</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.FillLoopsByMonteCarlo" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.FillLoopsByMonteCarlo">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">FillLoopsByMonteCarlo</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">torsion_sampler</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_loops_to_search</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">6</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_extension</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">30</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mc_num_loops</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mc_steps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">use_scoring_extender</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">use_full_extender</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">score_variant</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ring_punch_detection</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fragger_handles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resnum_range</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">length_dep_weights</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><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 notranslate"><span class="pre">FillLoopsByDatabase()</span></code></a>.
@@ -1031,8 +940,8 @@ more loop candidates to be found.</p>
 <em>fragger_handles</em> is given) <a class="reference internal" href="../loop/structure_db.html#promod3.loop.Fragger" title="promod3.loop.Fragger"><code class="xref py py-class docutils literal notranslate"><span class="pre">Fragger</span></code></a> lists. The latter
 is only used if the gap length is &gt;= the length of fragments stored.</p>
 <p>This function cannot fill gaps at C- or N-terminal.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span><span class="p">,</span> <span class="n">seq</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">modelling</span><span class="p">,</span> <span class="n">loop</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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">seq</span>
+<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">modelling</span><span class="p">,</span> <span class="n">loop</span>
 
 <span class="c1"># setup</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="s1">&#39;data/1crn_cut.pdb&#39;</span><span class="p">)</span>
@@ -1049,98 +958,90 @@ is only used if the gap length is &gt;= the length of fragments stored.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Number of gaps after: </span><span class="si">%d</span><span class="s1">&#39;</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>
 </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 notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</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 notranslate"><span class="pre">TorsionSampler</span></code></a>) – A sampler for torsion angles. A default one is 
-loaded if None.</li>
-<li><strong>max_loops_to_search</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Maximal number of gap extension steps to perform
-(see <a class="reference internal" href="gap_handling.html#promod3.modelling.GapExtender" title="promod3.modelling.GapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">GapExtender</span></code></a>)</li>
-<li><strong>mc_num_loops</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of loop candidates to consider for each extended gap
-(see <a class="reference internal" href="loop_candidates.html#promod3.modelling.LoopCandidates.FillFromMonteCarloSampler" title="promod3.modelling.LoopCandidates.FillFromMonteCarloSampler"><code class="xref py py-meth docutils literal notranslate"><span class="pre">FillFromMonteCarloSampler()</span></code></a>)</li>
-<li><strong>mc_steps</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of MC steps to perform for each loop candidate
-(see <a class="reference internal" href="loop_candidates.html#promod3.modelling.LoopCandidates.FillFromMonteCarloSampler" title="promod3.modelling.LoopCandidates.FillFromMonteCarloSampler"><code class="xref py py-meth docutils literal notranslate"><span class="pre">FillFromMonteCarloSampler()</span></code></a>)</li>
-<li><strong>use_scoring_extender</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True = use <a class="reference internal" href="gap_handling.html#promod3.modelling.ScoringGapExtender" title="promod3.modelling.ScoringGapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoringGapExtender</span></code></a> instead
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</p></li>
+<li><p><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 notranslate"><span class="pre">TorsionSampler</span></code></a>) – A sampler for torsion angles. A default one is 
+loaded if None.</p></li>
+<li><p><strong>max_loops_to_search</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Define how many candidates are ‘enough’ to be
+evaluated per loop.</p></li>
+<li><p><strong>max_extension</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Maximal number of gap extension steps to perform
+(see <a class="reference internal" href="gap_handling.html#promod3.modelling.GapExtender" title="promod3.modelling.GapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">GapExtender</span></code></a>)</p></li>
+<li><p><strong>mc_num_loops</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of loop candidates to consider for each extended gap
+(see <a class="reference internal" href="loop_candidates.html#promod3.modelling.LoopCandidates.FillFromMonteCarloSampler" title="promod3.modelling.LoopCandidates.FillFromMonteCarloSampler"><code class="xref py py-meth docutils literal notranslate"><span class="pre">FillFromMonteCarloSampler()</span></code></a>)</p></li>
+<li><p><strong>mc_steps</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of MC steps to perform for each loop candidate
+(see <a class="reference internal" href="loop_candidates.html#promod3.modelling.LoopCandidates.FillFromMonteCarloSampler" title="promod3.modelling.LoopCandidates.FillFromMonteCarloSampler"><code class="xref py py-meth docutils literal notranslate"><span class="pre">FillFromMonteCarloSampler()</span></code></a>)</p></li>
+<li><p><strong>use_scoring_extender</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True = use <a class="reference internal" href="gap_handling.html#promod3.modelling.ScoringGapExtender" title="promod3.modelling.ScoringGapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoringGapExtender</span></code></a> instead
 of <a class="reference internal" href="gap_handling.html#promod3.modelling.GapExtender" title="promod3.modelling.GapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">GapExtender</span></code></a>.
-See <a class="reference internal" href="#promod3.modelling.CloseSmallDeletions" title="promod3.modelling.CloseSmallDeletions"><code class="xref py py-func docutils literal notranslate"><span class="pre">CloseSmallDeletions()</span></code></a>.</li>
-<li><strong>use_full_extender</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True = use <a class="reference internal" href="gap_handling.html#promod3.modelling.FullGapExtender" title="promod3.modelling.FullGapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">FullGapExtender</span></code></a> instead of
+See <a class="reference internal" href="#promod3.modelling.CloseSmallDeletions" title="promod3.modelling.CloseSmallDeletions"><code class="xref py py-func docutils literal notranslate"><span class="pre">CloseSmallDeletions()</span></code></a>.</p></li>
+<li><p><strong>use_full_extender</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True = use <a class="reference internal" href="gap_handling.html#promod3.modelling.FullGapExtender" title="promod3.modelling.FullGapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">FullGapExtender</span></code></a> instead of
 <a class="reference internal" href="gap_handling.html#promod3.modelling.GapExtender" title="promod3.modelling.GapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">GapExtender</span></code></a>.
-See <a class="reference internal" href="#promod3.modelling.CloseSmallDeletions" title="promod3.modelling.CloseSmallDeletions"><code class="xref py py-func docutils literal notranslate"><span class="pre">CloseSmallDeletions()</span></code></a>.</li>
-<li><strong>score_variant</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – How to score loop candidates (AllAtom not supported).
-See <a class="reference internal" href="#promod3.modelling.FillLoopsByDatabase" title="promod3.modelling.FillLoopsByDatabase"><code class="xref py py-func docutils literal notranslate"><span class="pre">FillLoopsByDatabase()</span></code></a>.</li>
-<li><strong>ring_punch_detection</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – How to deal with ring punchings.
-See <a class="reference internal" href="#promod3.modelling.FillLoopsByDatabase" title="promod3.modelling.FillLoopsByDatabase"><code class="xref py py-func docutils literal notranslate"><span class="pre">FillLoopsByDatabase()</span></code></a>.</li>
-<li><strong>fragger_handles</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="algorithms.html#promod3.modelling.FraggerHandle" title="promod3.modelling.FraggerHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">FraggerHandle</span></code></a>) – Either None (no fragger sampling used) or one
-fragger handle for each chain in <em>mhandle</em>.</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps from chain with given index get
-processed</li>
-<li><strong>resnum_range</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#tuple" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> containing two <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps within this resnum range get
-processed</li>
-<li><strong>length_dep_weights</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – <a class="reference internal" href="loop_candidates.html#promod3.modelling.ScoringWeights" title="promod3.modelling.ScoringWeights"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoringWeights</span></code></a> provides different sets
+See <a class="reference internal" href="#promod3.modelling.CloseSmallDeletions" title="promod3.modelling.CloseSmallDeletions"><code class="xref py py-func docutils literal notranslate"><span class="pre">CloseSmallDeletions()</span></code></a>.</p></li>
+<li><p><strong>score_variant</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – How to score loop candidates (AllAtom not supported).
+See <a class="reference internal" href="#promod3.modelling.FillLoopsByDatabase" title="promod3.modelling.FillLoopsByDatabase"><code class="xref py py-func docutils literal notranslate"><span class="pre">FillLoopsByDatabase()</span></code></a>.</p></li>
+<li><p><strong>ring_punch_detection</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – How to deal with ring punchings.
+See <a class="reference internal" href="#promod3.modelling.FillLoopsByDatabase" title="promod3.modelling.FillLoopsByDatabase"><code class="xref py py-func docutils literal notranslate"><span class="pre">FillLoopsByDatabase()</span></code></a>.</p></li>
+<li><p><strong>fragger_handles</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="algorithms.html#promod3.modelling.FraggerHandle" title="promod3.modelling.FraggerHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">FraggerHandle</span></code></a>) – Either None (no fragger sampling used) or one
+fragger handle for each chain in <em>mhandle</em>.</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps from chain with given index get
+processed</p></li>
+<li><p><strong>resnum_range</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#tuple" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> containing two <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps within this resnum range get
+processed</p></li>
+<li><p><strong>length_dep_weights</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – <a class="reference internal" href="loop_candidates.html#promod3.modelling.ScoringWeights" title="promod3.modelling.ScoringWeights"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoringWeights</span></code></a> provides different sets
 of weights that have been trained on different
 loop subsets. If this flag is true, the length
 dependent weights are used to select the final 
-loops.</li>
+loops.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.CloseLargeDeletions">
-<code class="descclassname">promod3.modelling.</code><code class="descname">CloseLargeDeletions</code><span class="sig-paren">(</span><em>mhandle</em>, <em>structure_db</em>, <em>linker_length=8</em>, <em>num_fragments=500</em>, <em>use_scoring_extender=True</em>, <em>use_full_extender=True</em>, <em>chain_idx=None</em>, <em>resnum_range=None</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CloseLargeDeletions" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.CloseLargeDeletions">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">CloseLargeDeletions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">structure_db</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linker_length</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_fragments</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">500</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">use_scoring_extender</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">use_full_extender</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resnum_range</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CloseLargeDeletions" title="Permalink to this definition">¶</a></dt>
 <dd><p>Try to close large deletions.</p>
 <p>This is meant as a “last-resort” approach. In some cases you cannot 
 close very large deletions simply because the two parts separated
 by a deletion are too far apart. The idea is to sample a linker region
 and always move the whole chain towards the n-terminus.</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 notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</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 notranslate"><span class="pre">StructureDB</span></code></a>) – The database from which to extract fragments for
-the linker region.</li>
-<li><strong>linker_length</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Desired length (in residues w/o stems) for the
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</p></li>
+<li><p><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 notranslate"><span class="pre">StructureDB</span></code></a>) – The database from which to extract fragments for
+the linker region.</p></li>
+<li><p><strong>linker_length</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Desired length (in residues w/o stems) for the
 linker. This may be shorter if extender cannot
-extend further.</li>
-<li><strong>num_fragments</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of fragments to sample the linker.</li>
-<li><strong>use_scoring_extender</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True = use <a class="reference internal" href="gap_handling.html#promod3.modelling.ScoringGapExtender" title="promod3.modelling.ScoringGapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoringGapExtender</span></code></a> instead
+extend further.</p></li>
+<li><p><strong>num_fragments</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of fragments to sample the linker.</p></li>
+<li><p><strong>use_scoring_extender</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True = use <a class="reference internal" href="gap_handling.html#promod3.modelling.ScoringGapExtender" title="promod3.modelling.ScoringGapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">ScoringGapExtender</span></code></a> instead
 of <a class="reference internal" href="gap_handling.html#promod3.modelling.GapExtender" title="promod3.modelling.GapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">GapExtender</span></code></a>.
-See <a class="reference internal" href="#promod3.modelling.CloseSmallDeletions" title="promod3.modelling.CloseSmallDeletions"><code class="xref py py-func docutils literal notranslate"><span class="pre">CloseSmallDeletions()</span></code></a>.</li>
-<li><strong>use_full_extender</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True = use <a class="reference internal" href="gap_handling.html#promod3.modelling.FullGapExtender" title="promod3.modelling.FullGapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">FullGapExtender</span></code></a> instead of
+See <a class="reference internal" href="#promod3.modelling.CloseSmallDeletions" title="promod3.modelling.CloseSmallDeletions"><code class="xref py py-func docutils literal notranslate"><span class="pre">CloseSmallDeletions()</span></code></a>.</p></li>
+<li><p><strong>use_full_extender</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – True = use <a class="reference internal" href="gap_handling.html#promod3.modelling.FullGapExtender" title="promod3.modelling.FullGapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">FullGapExtender</span></code></a> instead of
 <a class="reference internal" href="gap_handling.html#promod3.modelling.GapExtender" title="promod3.modelling.GapExtender"><code class="xref py py-class docutils literal notranslate"><span class="pre">GapExtender</span></code></a>.
-See <a class="reference internal" href="#promod3.modelling.CloseSmallDeletions" title="promod3.modelling.CloseSmallDeletions"><code class="xref py py-func docutils literal notranslate"><span class="pre">CloseSmallDeletions()</span></code></a>.</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps from chain with given index get
-processed</li>
-<li><strong>resnum_range</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#tuple" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> containing two <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps within this resnum range get
-processed</li>
+See <a class="reference internal" href="#promod3.modelling.CloseSmallDeletions" title="promod3.modelling.CloseSmallDeletions"><code class="xref py py-func docutils literal notranslate"><span class="pre">CloseSmallDeletions()</span></code></a>.</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps from chain with given index get
+processed</p></li>
+<li><p><strong>resnum_range</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#tuple" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> containing two <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If not None, only gaps within this resnum range get
+processed</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.ModelTermini">
-<code class="descclassname">promod3.modelling.</code><code class="descname">ModelTermini</code><span class="sig-paren">(</span><em>mhandle</em>, <em>torsion_sampler</em>, <em>fragger_handles=None</em>, <em>mc_num_loops=20</em>, <em>mc_steps=5000</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ModelTermini" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.ModelTermini">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">ModelTermini</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">torsion_sampler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fragger_handles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mc_num_loops</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mc_steps</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5000</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ModelTermini" title="Permalink to this definition">¶</a></dt>
 <dd><p>Try to model termini with Monte Carlo sampling.</p>
 <p>Use with care! This is an experimental feature which will increase coverage
 but we do not assume that the resulting termini are of high quality!</p>
 <p>The termini are modelled by either sampling the dihedral angles or (if
 <em>fragger_handles</em> is given) <a class="reference internal" href="../loop/structure_db.html#promod3.loop.Fragger" title="promod3.loop.Fragger"><code class="xref py py-class docutils literal notranslate"><span class="pre">Fragger</span></code></a> lists. The latter
 is only used if the gap length is &gt;= the length of fragments stored.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span><span class="p">,</span> <span class="n">seq</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">modelling</span><span class="p">,</span> <span class="n">loop</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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">seq</span>
+<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">modelling</span><span class="p">,</span> <span class="n">loop</span>
 
 <span class="c1"># setup</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="s1">&#39;data/gly.pdb&#39;</span><span class="p">)</span>
@@ -1157,73 +1058,69 @@ is only used if the gap length is &gt;= the length of fragments stored.</p>
 <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Number of gaps after: </span><span class="si">%d</span><span class="s1">&#39;</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>
 </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 notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</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 notranslate"><span class="pre">TorsionSampler</span></code></a>) – A sampler for torsion angles.</li>
-<li><strong>fragger_handles</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="algorithms.html#promod3.modelling.FraggerHandle" title="promod3.modelling.FraggerHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">FraggerHandle</span></code></a>) – Either None (no fragger sampling used) or one
-fragger handle for each chain in <em>mhandle</em>.</li>
-<li><strong>mc_num_loops</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of loop candidates to consider for each terminal gap
-(see <a class="reference internal" href="loop_candidates.html#promod3.modelling.LoopCandidates.FillFromMonteCarloSampler" title="promod3.modelling.LoopCandidates.FillFromMonteCarloSampler"><code class="xref py py-meth docutils literal notranslate"><span class="pre">FillFromMonteCarloSampler()</span></code></a>)</li>
-<li><strong>mc_steps</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of MC steps to perform for each loop candidate
-(see <a class="reference internal" href="loop_candidates.html#promod3.modelling.LoopCandidates.FillFromMonteCarloSampler" title="promod3.modelling.LoopCandidates.FillFromMonteCarloSampler"><code class="xref py py-meth docutils literal notranslate"><span class="pre">FillFromMonteCarloSampler()</span></code></a>)</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</p></li>
+<li><p><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 notranslate"><span class="pre">TorsionSampler</span></code></a>) – A sampler for torsion angles.</p></li>
+<li><p><strong>fragger_handles</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="algorithms.html#promod3.modelling.FraggerHandle" title="promod3.modelling.FraggerHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">FraggerHandle</span></code></a>) – Either None (no fragger sampling used) or one
+fragger handle for each chain in <em>mhandle</em>.</p></li>
+<li><p><strong>mc_num_loops</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of loop candidates to consider for each terminal gap
+(see <a class="reference internal" href="loop_candidates.html#promod3.modelling.LoopCandidates.FillFromMonteCarloSampler" title="promod3.modelling.LoopCandidates.FillFromMonteCarloSampler"><code class="xref py py-meth docutils literal notranslate"><span class="pre">FillFromMonteCarloSampler()</span></code></a>)</p></li>
+<li><p><strong>mc_steps</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of MC steps to perform for each loop candidate
+(see <a class="reference internal" href="loop_candidates.html#promod3.modelling.LoopCandidates.FillFromMonteCarloSampler" title="promod3.modelling.LoopCandidates.FillFromMonteCarloSampler"><code class="xref py py-meth docutils literal notranslate"><span class="pre">FillFromMonteCarloSampler()</span></code></a>)</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </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>, <em>merge_distance=4</em>, <em>fragment_db=None</em>, <em>structure_db=None</em>, <em>torsion_sampler=None</em>, <em>rotamer_library=None</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BuildSidechains" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.BuildSidechains">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">BuildSidechains</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">merge_distance</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fragment_db</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">structure_db</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">torsion_sampler</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rotamer_library</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">keep_sidechains</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.BuildSidechains" title="Permalink to this definition">¶</a></dt>
 <dd><p>Build sidechains for model.</p>
 <p>This is a wrapper for <a class="reference internal" href="sidechain_reconstruction.html#promod3.modelling.ReconstructSidechains" title="promod3.modelling.ReconstructSidechains"><code class="xref py py-func docutils literal notranslate"><span class="pre">promod3.modelling.ReconstructSidechains()</span></code></a>, 
 followed by a check for ring punches. If ring punches are found it 
 introduces gaps for the residues with punched rings and tries to fill them 
 with <a class="reference internal" href="#promod3.modelling.FillLoopsByDatabase" title="promod3.modelling.FillLoopsByDatabase"><code class="xref py py-func docutils literal notranslate"><span class="pre">FillLoopsByDatabase()</span></code></a> with <em>ring_punch_detection=2</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>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</li>
-<li><strong>merge_distance</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Used as parameter for <a class="reference internal" href="#promod3.modelling.MergeGapsByDistance" title="promod3.modelling.MergeGapsByDistance"><code class="xref py py-func docutils literal notranslate"><span class="pre">MergeGapsByDistance()</span></code></a>
-if ring punches are found.</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 notranslate"><span class="pre">FragDB</span></code></a>) – Used as parameter for <a class="reference internal" href="#promod3.modelling.FillLoopsByDatabase" title="promod3.modelling.FillLoopsByDatabase"><code class="xref py py-func docutils literal notranslate"><span class="pre">FillLoopsByDatabase()</span></code></a>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</p></li>
+<li><p><strong>merge_distance</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Used as parameter for <a class="reference internal" href="#promod3.modelling.MergeGapsByDistance" title="promod3.modelling.MergeGapsByDistance"><code class="xref py py-func docutils literal notranslate"><span class="pre">MergeGapsByDistance()</span></code></a>
+if ring punches are found.</p></li>
+<li><p><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 notranslate"><span class="pre">FragDB</span></code></a>) – Used as parameter for <a class="reference internal" href="#promod3.modelling.FillLoopsByDatabase" title="promod3.modelling.FillLoopsByDatabase"><code class="xref py py-func docutils literal notranslate"><span class="pre">FillLoopsByDatabase()</span></code></a>
 if ring punches are found. A default one is loaded
-if None.</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 notranslate"><span class="pre">StructureDB</span></code></a>) – Used as parameter for <a class="reference internal" href="#promod3.modelling.FillLoopsByDatabase" title="promod3.modelling.FillLoopsByDatabase"><code class="xref py py-func docutils literal notranslate"><span class="pre">FillLoopsByDatabase()</span></code></a>
+if None.</p></li>
+<li><p><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 notranslate"><span class="pre">StructureDB</span></code></a>) – Used as parameter for <a class="reference internal" href="#promod3.modelling.FillLoopsByDatabase" title="promod3.modelling.FillLoopsByDatabase"><code class="xref py py-func docutils literal notranslate"><span class="pre">FillLoopsByDatabase()</span></code></a>
 if ring punches are found. A default one is loaded
-if None.</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 notranslate"><span class="pre">TorsionSampler</span></code></a>) – Used as parameter for <a class="reference internal" href="#promod3.modelling.FillLoopsByDatabase" title="promod3.modelling.FillLoopsByDatabase"><code class="xref py py-func docutils literal notranslate"><span class="pre">FillLoopsByDatabase()</span></code></a>
+if None.</p></li>
+<li><p><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 notranslate"><span class="pre">TorsionSampler</span></code></a>) – Used as parameter for <a class="reference internal" href="#promod3.modelling.FillLoopsByDatabase" title="promod3.modelling.FillLoopsByDatabase"><code class="xref py py-func docutils literal notranslate"><span class="pre">FillLoopsByDatabase()</span></code></a>
 if ring punches are found. A default one is loaded
-if None.</li>
-<li><strong>rotamer_library</strong> (<a class="reference internal" href="../sidechain/rotamer_lib.html#promod3.sidechain.RotamerLib" title="promod3.sidechain.RotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLib</span></code></a> or
+if None.</p></li>
+<li><p><strong>rotamer_library</strong> (<a class="reference internal" href="../sidechain/rotamer_lib.html#promod3.sidechain.RotamerLib" title="promod3.sidechain.RotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLib</span></code></a> or
 <a class="reference internal" href="../sidechain/rotamer_lib.html#promod3.sidechain.BBDepRotamerLib" title="promod3.sidechain.BBDepRotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">BBDepRotamerLib</span></code></a>) – Used as parameter for 
 <code class="xref py py-func docutils literal notranslate"><span class="pre">modelling.ReconstructSidechains()</span></code>, a default 
-one is loaded if None.</li>
+one is loaded if None.</p></li>
+<li><p><strong>keep_sidechains</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Used as parameter for
+<a class="reference internal" href="sidechain_reconstruction.html#promod3.modelling.ReconstructSidechains" title="promod3.modelling.ReconstructSidechains"><code class="xref py py-func docutils literal notranslate"><span class="pre">ReconstructSidechains()</span></code></a>,
+controls if complete sidechains in <em>mhandle</em> should
+be kept and not re-modelled.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </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=12</em>, <em>max_iter_sd=20</em>, <em>max_iter_lbfgs=10</em>, <em>use_amber_ff=False</em>, <em>extra_force_fields=[]</em>, <em>tolerance_sd=1.0</em>, <em>tolerance_lbfgs=1.0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.MinimizeModelEnergy" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.MinimizeModelEnergy">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">MinimizeModelEnergy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_iterations</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">12</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_iter_sd</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_iter_lbfgs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">use_amber_ff</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">extra_force_fields</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tolerance_sd</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tolerance_lbfgs</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.0</span></span></em><span class="sig-paren">)</span><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 <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/molmm/#module-ost.mol.mm" title="(in OpenStructure v2.4.0)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ost.mol.mm</span></code></a> to perform energy minimization.
+<p>Uses <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/molmm/#module-ost.mol.mm" title="(in OpenStructure v2.9.2)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">ost.mol.mm</span></code></a> 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 iter. of a steepest descend method</li>
-<li>run up to <em>max_iter_lbfgs</em> minimization iter. of a Limited-memory 
-Broyden-Fletcher-Goldfarb-Shanno method</li>
-<li>abort if no stereochemical problems found</li>
+<li><p>run up to <em>max_iter_sd</em> minimization iter. of a steepest descend method</p></li>
+<li><p>run up to <em>max_iter_lbfgs</em> minimization iter. of a Limited-memory 
+Broyden-Fletcher-Goldfarb-Shanno method</p></li>
+<li><p>abort if no stereochemical problems found</p></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>
@@ -1234,212 +1131,185 @@ If the variable is not set, 1 thread will be used by default.</p>
 (happens if atoms are on top of each other or almost), the energy
 minimization is aborted. This issue is logged and added as a major issue to
 <a class="reference internal" href="#promod3.modelling.ModellingHandle.modelling_issues" title="promod3.modelling.ModellingHandle.modelling_issues"><code class="xref py py-attr docutils literal notranslate"><span class="pre">modelling_issues</span></code></a> of <em>mhandle</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>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Max. number of iterations within LBFGS method</li>
-<li><strong>tolerance_sd</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Tolerance parameter passed to ApplySD of 
-<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/simulation/#ost.mol.mm.Simulation" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.mm.Simulation</span></code></a> object.</li>
-<li><strong>tolerance_lbfgs</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Tolerance parameter passed to ApplyLBFGS of 
-<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/simulation/#ost.mol.mm.Simulation" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.mm.Simulation</span></code></a> object.</li>
-<li><strong>use_amber_ff</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – if True, use the AMBER force field instead of the def.
-CHARMM one (see <a class="reference internal" href="#promod3.modelling.BuildFromRawModel" title="promod3.modelling.BuildFromRawModel"><code class="xref py py-meth docutils literal notranslate"><span class="pre">BuildFromRawModel()</span></code></a>).</li>
-<li><strong>extra_force_fields</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/mm/forcefield/#ost.mol.mm.Forcefield" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.mm.Forcefield</span></code></a>) – Additional list of force fields to use (see
-<a class="reference internal" href="#promod3.modelling.BuildFromRawModel" title="promod3.modelling.BuildFromRawModel"><code class="xref py py-meth docutils literal notranslate"><span class="pre">BuildFromRawModel()</span></code></a>).</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle on which to apply change.</p></li>
+<li><p><strong>max_iterations</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Max. number of iterations for SD+LBFGS</p></li>
+<li><p><strong>max_iter_sd</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Max. number of iterations within SD method</p></li>
+<li><p><strong>max_iter_lbfgs</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Max. number of iterations within LBFGS method</p></li>
+<li><p><strong>tolerance_sd</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Tolerance parameter passed to ApplySD of 
+<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/simulation/#ost.mol.mm.Simulation" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.mm.Simulation</span></code></a> object.</p></li>
+<li><p><strong>tolerance_lbfgs</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Tolerance parameter passed to ApplyLBFGS of 
+<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/simulation/#ost.mol.mm.Simulation" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.mm.Simulation</span></code></a> object.</p></li>
+<li><p><strong>use_amber_ff</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – if True, use the AMBER force field instead of the def.
+CHARMM one (see <a class="reference internal" href="#promod3.modelling.BuildFromRawModel" title="promod3.modelling.BuildFromRawModel"><code class="xref py py-meth docutils literal notranslate"><span class="pre">BuildFromRawModel()</span></code></a>).</p></li>
+<li><p><strong>extra_force_fields</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/mm/forcefield/#ost.mol.mm.Forcefield" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.mm.Forcefield</span></code></a>) – Additional list of force fields to use (see
+<a class="reference internal" href="#promod3.modelling.BuildFromRawModel" title="promod3.modelling.BuildFromRawModel"><code class="xref py py-meth docutils literal notranslate"><span class="pre">BuildFromRawModel()</span></code></a>).</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The model including all oxygens as used in the minimizer.</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="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Entity</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The model including all oxygens as used in the minimizer.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Entity</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.CheckFinalModel">
-<code class="descclassname">promod3.modelling.</code><code class="descname">CheckFinalModel</code><span class="sig-paren">(</span><em>mhandle</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CheckFinalModel" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.CheckFinalModel">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">CheckFinalModel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.CheckFinalModel" title="Permalink to this definition">¶</a></dt>
 <dd><p>Performs samity checks on final models and reports problems.</p>
 <p>Issues are logged and tracked in <a class="reference internal" href="#promod3.modelling.ModellingHandle.modelling_issues" title="promod3.modelling.ModellingHandle.modelling_issues"><code class="xref py py-attr docutils literal notranslate"><span class="pre">modelling_issues</span></code></a>
 of <em>mhandle</em>. Major issues:</p>
 <ul class="simple">
-<li>Chains with less than 3 residues (usually due to bad templates).</li>
-<li>Incomplete models (i.e. some gaps couldn’t be closed). One issue is
-created per unclosed gap and the stems of the gap are added to the issue.</li>
-<li>Complete models with sequence mismatches (should never happen).</li>
-<li>Residues with rings which have been punched by another bond.</li>
+<li><p>Chains with less than 3 residues (usually due to bad templates).</p></li>
+<li><p>Incomplete models (i.e. some gaps couldn’t be closed). One issue is
+created per unclosed gap and the stems of the gap are added to the issue.</p></li>
+<li><p>Complete models with sequence mismatches (should never happen).</p></li>
+<li><p>Residues with rings which have been punched by another bond.</p></li>
 </ul>
 <p>Minor issues:</p>
 <ul class="simple">
-<li>Remaining stereo-chemical problems after energy minimization. The affected
+<li><p>Remaining stereo-chemical problems after energy minimization. The affected
 residues will have the boolean property “stereo_chemical_problem_backbone”
-set to True, if the problem affects backbone atoms.</li>
-<li>Residues that contain non-planar rings.</li>
+set to True, if the problem affects backbone atoms.</p></li>
+<li><p>Residues that contain non-planar rings.</p></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"><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle for which to perform checks.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Modelling handle for which to perform checks.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.modelling.ModellingIssue">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">ModellingIssue</code><span class="sig-paren">(</span><em>text</em>, <em>severity</em>, <em>residue_list=[]</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ModellingIssue" 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 last simple">
-<li><strong>text</strong> – Sets <a class="reference internal" href="#promod3.modelling.ModellingIssue.text" title="promod3.modelling.ModellingIssue.text"><code class="xref py py-attr docutils literal notranslate"><span class="pre">text</span></code></a>.</li>
-<li><strong>severity</strong> – Sets <a class="reference internal" href="#promod3.modelling.ModellingIssue.severity" title="promod3.modelling.ModellingIssue.severity"><code class="xref py py-attr docutils literal notranslate"><span class="pre">severity</span></code></a>.</li>
-<li><strong>residue_list</strong> – Sets <a class="reference internal" href="#promod3.modelling.ModellingIssue.residue_list" title="promod3.modelling.ModellingIssue.residue_list"><code class="xref py py-attr docutils literal notranslate"><span class="pre">residue_list</span></code></a>.</li>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingIssue">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">ModellingIssue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">text</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">severity</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residue_list</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[]</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ModellingIssue" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>text</strong> – Sets <a class="reference internal" href="#promod3.modelling.ModellingIssue.text" title="promod3.modelling.ModellingIssue.text"><code class="xref py py-attr docutils literal notranslate"><span class="pre">text</span></code></a>.</p></li>
+<li><p><strong>severity</strong> – Sets <a class="reference internal" href="#promod3.modelling.ModellingIssue.severity" title="promod3.modelling.ModellingIssue.severity"><code class="xref py py-attr docutils literal notranslate"><span class="pre">severity</span></code></a>.</p></li>
+<li><p><strong>residue_list</strong> – Sets <a class="reference internal" href="#promod3.modelling.ModellingIssue.residue_list" title="promod3.modelling.ModellingIssue.residue_list"><code class="xref py py-attr docutils literal notranslate"><span class="pre">residue_list</span></code></a>.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="attribute">
-<dt id="promod3.modelling.ModellingIssue.text">
-<code class="descname">text</code><a class="headerlink" href="#promod3.modelling.ModellingIssue.text" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingIssue.text">
+<span class="sig-name descname"><span class="pre">text</span></span><a class="headerlink" href="#promod3.modelling.ModellingIssue.text" title="Permalink to this definition">¶</a></dt>
 <dd><p>Description of issue.</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.ModellingIssue.severity">
-<code class="descname">severity</code><a class="headerlink" href="#promod3.modelling.ModellingIssue.severity" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingIssue.severity">
+<span class="sig-name descname"><span class="pre">severity</span></span><a class="headerlink" href="#promod3.modelling.ModellingIssue.severity" title="Permalink to this definition">¶</a></dt>
 <dd><p>Severity of issue.</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.ModellingIssue.Severity" title="promod3.modelling.ModellingIssue.Severity"><code class="xref py py-class docutils literal notranslate"><span class="pre">Severity</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.modelling.ModellingIssue.Severity" title="promod3.modelling.ModellingIssue.Severity"><code class="xref py py-class docutils literal notranslate"><span class="pre">Severity</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.ModellingIssue.residue_list">
-<code class="descname">residue_list</code><a class="headerlink" href="#promod3.modelling.ModellingIssue.residue_list" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingIssue.residue_list">
+<span class="sig-name descname"><span class="pre">residue_list</span></span><a class="headerlink" href="#promod3.modelling.ModellingIssue.residue_list" title="Permalink to this definition">¶</a></dt>
 <dd><p>List of residues affected by issue (or empty list if global issue).</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ResidueHandle</span></code></a> /
-<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueView" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ResidueView</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ResidueHandle</span></code></a> /
+<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueView" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ResidueView</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.modelling.ModellingIssue.Severity">
-<em class="property">class </em><code class="descname">Severity</code><a class="headerlink" href="#promod3.modelling.ModellingIssue.Severity" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingIssue.Severity">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Severity</span></span><a class="headerlink" href="#promod3.modelling.ModellingIssue.Severity" title="Permalink to this definition">¶</a></dt>
 <dd><p>Enumerates severities.</p>
-<dl class="attribute">
-<dt id="promod3.modelling.ModellingIssue.Severity.MAJOR">
-<code class="descname">MAJOR</code><em class="property"> = 10</em><a class="headerlink" href="#promod3.modelling.ModellingIssue.Severity.MAJOR" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingIssue.Severity.MAJOR">
+<span class="sig-name descname"><span class="pre">MAJOR</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">10</span></em><a class="headerlink" href="#promod3.modelling.ModellingIssue.Severity.MAJOR" title="Permalink to this definition">¶</a></dt>
 <dd><p>Major issues like MM-failures, incomplete models and ring punches.</p>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.ModellingIssue.Severity.MINOR">
-<code class="descname">MINOR</code><em class="property"> = 0</em><a class="headerlink" href="#promod3.modelling.ModellingIssue.Severity.MINOR" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingIssue.Severity.MINOR">
+<span class="sig-name descname"><span class="pre">MINOR</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">0</span></em><a class="headerlink" href="#promod3.modelling.ModellingIssue.Severity.MINOR" title="Permalink to this definition">¶</a></dt>
 <dd><p>Minor issues like remaining stereo-chemistry problems after MM.</p>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.ModellingIssue.is_major">
-<code class="descname">is_major</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ModellingIssue.is_major" 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 if this is a major issue.</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.ModellingIssue.is_major">
+<span class="sig-name descname"><span class="pre">is_major</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ModellingIssue.is_major" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>True if this is a major issue.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.AddModellingIssue">
-<code class="descclassname">promod3.modelling.</code><code class="descname">AddModellingIssue</code><span class="sig-paren">(</span><em>mhandle</em>, <em>text</em>, <em>severity</em>, <em>residue_list=[]</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.AddModellingIssue" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.AddModellingIssue">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">AddModellingIssue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mhandle</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">text</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">severity</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residue_list</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[]</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.AddModellingIssue" title="Permalink to this definition">¶</a></dt>
 <dd><p>Adds a new <a class="reference internal" href="#promod3.modelling.ModellingIssue" title="promod3.modelling.ModellingIssue"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingIssue</span></code></a> to
 <a class="reference internal" href="#promod3.modelling.ModellingHandle.modelling_issues" title="promod3.modelling.ModellingHandle.modelling_issues"><code class="xref py py-attr docutils literal notranslate"><span class="pre">modelling_issues</span></code></a> in <em>mhandle</em>.</p>
 <p>If <em>mhandle</em> doesn’t contain the <a class="reference internal" href="#promod3.modelling.ModellingHandle.modelling_issues" title="promod3.modelling.ModellingHandle.modelling_issues"><code class="xref py py-attr docutils literal notranslate"><span class="pre">modelling_issues</span></code></a>
 attribute yet, it is 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">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 notranslate"><span class="pre">ModellingHandle</span></code></a>) – Will have the issue added to.</li>
-<li><strong>text</strong> – Sets <a class="reference internal" href="#promod3.modelling.ModellingIssue.text" title="promod3.modelling.ModellingIssue.text"><code class="xref py py-attr docutils literal notranslate"><span class="pre">ModellingIssue.text</span></code></a>.</li>
-<li><strong>severity</strong> – Sets <a class="reference internal" href="#promod3.modelling.ModellingIssue.severity" title="promod3.modelling.ModellingIssue.severity"><code class="xref py py-attr docutils literal notranslate"><span class="pre">ModellingIssue.severity</span></code></a>.</li>
-<li><strong>residue_list</strong> – Sets <a class="reference internal" href="#promod3.modelling.ModellingIssue.residue_list" title="promod3.modelling.ModellingIssue.residue_list"><code class="xref py py-attr docutils literal notranslate"><span class="pre">ModellingIssue.residue_list</span></code></a>.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>mhandle</strong> (<a class="reference internal" href="#promod3.modelling.ModellingHandle" title="promod3.modelling.ModellingHandle"><code class="xref py py-class docutils literal notranslate"><span class="pre">ModellingHandle</span></code></a>) – Will have the issue added to.</p></li>
+<li><p><strong>text</strong> – Sets <a class="reference internal" href="#promod3.modelling.ModellingIssue.text" title="promod3.modelling.ModellingIssue.text"><code class="xref py py-attr docutils literal notranslate"><span class="pre">ModellingIssue.text</span></code></a>.</p></li>
+<li><p><strong>severity</strong> – Sets <a class="reference internal" href="#promod3.modelling.ModellingIssue.severity" title="promod3.modelling.ModellingIssue.severity"><code class="xref py py-attr docutils literal notranslate"><span class="pre">ModellingIssue.severity</span></code></a>.</p></li>
+<li><p><strong>residue_list</strong> – Sets <a class="reference internal" href="#promod3.modelling.ModellingIssue.residue_list" title="promod3.modelling.ModellingIssue.residue_list"><code class="xref py py-attr docutils literal notranslate"><span class="pre">ModellingIssue.residue_list</span></code></a>.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="alignment-fiddling">
-<h2>Alignment Fiddling<a class="headerlink" href="#alignment-fiddling" title="Permalink to this headline">¶</a></h2>
-<dl class="function">
-<dt id="promod3.modelling.DeleteGapCols">
-<code class="descclassname">promod3.modelling.</code><code class="descname">DeleteGapCols</code><span class="sig-paren">(</span><em>aln</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.DeleteGapCols" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="alignment-fiddling">
+<h2>Alignment Fiddling<a class="headerlink" href="#alignment-fiddling" title="Permalink to this heading">¶</a></h2>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.DeleteGapCols">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">DeleteGapCols</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aln</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.DeleteGapCols" title="Permalink to this definition">¶</a></dt>
 <dd><p>Deletes alignment columns that only contain gaps.</p>
-<p>Columns that only contain gaps (‘-‘) are removed. If no such column can be 
+<p>Columns that only contain gaps (‘-’) are removed. If no such column can be 
 identified, the input alignment gets returned. A new alignment gets 
 constructed otherwise. The sequences of the new alignment retain name, offset
-and the potentially attached <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityView</span></code></a> from the original
+and the potentially attached <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityView</span></code></a> from the original
 sequences.</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>aln</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.AlignmentHandle</span></code></a>) – Input alignment</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The processed alignment</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.AlignmentHandle</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>aln</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.AlignmentHandle</span></code></a>) – Input alignment</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The processed alignment</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.AlignmentHandle</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.modelling.PullTerminalDeletions">
-<code class="descclassname">promod3.modelling.</code><code class="descname">PullTerminalDeletions</code><span class="sig-paren">(</span><em>aln</em>, <em>min_terminal_anchor_size=4</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.PullTerminalDeletions" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.PullTerminalDeletions">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">PullTerminalDeletions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aln</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_terminal_anchor_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.PullTerminalDeletions" title="Permalink to this definition">¶</a></dt>
 <dd><p>Fixes deletions close to termini.</p>
 <p>Some alignment tools may produce alignments with deletions close to the 
 termini. For example:</p>
@@ -1456,7 +1326,7 @@ ATOMSEQ: ABCDEFGHIJ...
 </pre></div>
 </div>
 <p>This function checks whether the gap closest to any termini is a deletion 
-(one or several ‘-‘ in the first sequence) and estimates the anchor size 
+(one or several ‘-’ in the first sequence) and estimates the anchor size 
 (number of aligned residues towards the respective termini from that gap). 
 If the anchor size is smaller than <em>min_terminal_anchor_size</em>, a shift is 
 applied and the deletion removed.</p>
@@ -1473,26 +1343,26 @@ ATOMSEQ: ABCDEFGHI...
 <p>given a <em>min_terminal_anchor_size</em>&gt;2. If no shift can be performed, the 
 input alignment gets returned. A new alignment gets constructed otherwise. 
 The sequences of the new alignment retain name, offset and the potentially 
-attached <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityView</span></code></a> from the original sequences.</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>aln</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.AlignmentHandle</span></code></a>) – Input alignment</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The processed alignment</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.AlignmentHandle</span></code></a></td>
-</tr>
-</tbody>
-</table>
+attached <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityView" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityView</span></code></a> from the original sequences.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>aln</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.AlignmentHandle</span></code></a>) – Input alignment</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The processed alignment</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.AlignmentHandle</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -1513,12 +1383,12 @@ attached <a class="reference external" href="https://www.openstructure.org/docs/
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -1535,8 +1405,8 @@ attached <a class="reference external" href="https://www.openstructure.org/docs/
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a><ul>
-      <li>Previous: <a href="index.html" title="previous chapter"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a><ul>
+      <li>Previous: <a href="index.html" title="previous chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
       <li>Next: <a href="model_checking.html" title="next chapter">Model Checking</a></li>
   </ul></li>
   </ul></li>
@@ -1544,27 +1414,33 @@ attached <a class="reference external" href="https://www.openstructure.org/docs/
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/modelling/pipeline.rst.txt"
diff --git a/doc/html/modelling/sidechain_reconstruction.html b/doc/html/modelling/sidechain_reconstruction.html
index 6f940d4f2b9683b7243a8227dba538cb3b34452b..709f3d8f1bf69548b11e006c8cf1dc6fd71bf6d4 100644
--- a/doc/html/modelling/sidechain_reconstruction.html
+++ b/doc/html/modelling/sidechain_reconstruction.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Sidechain Reconstruction &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Sidechain Reconstruction &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Modelling Algorithms" href="algorithms.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,20 +31,22 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="sidechain-reconstruction">
-<h1>Sidechain Reconstruction<a class="headerlink" href="#sidechain-reconstruction" title="Permalink to this headline">¶</a></h1>
+  <section id="sidechain-reconstruction">
+<h1>Sidechain Reconstruction<a class="headerlink" href="#sidechain-reconstruction" title="Permalink to this heading">¶</a></h1>
 <p>Two methods are provided to fully reconstruct sidechains of residues:</p>
 <ul class="simple">
-<li>the <a class="reference internal" href="#promod3.modelling.ReconstructSidechains" title="promod3.modelling.ReconstructSidechains"><code class="xref py py-func docutils literal notranslate"><span class="pre">ReconstructSidechains()</span></code></a> function handles a full OST
-<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityHandle</span></code></a></li>
-<li>the <a class="reference internal" href="#promod3.modelling.SidechainReconstructor" title="promod3.modelling.SidechainReconstructor"><code class="xref py py-class docutils literal notranslate"><span class="pre">SidechainReconstructor</span></code></a> is linked to an all atom environment
-and used to reconstruct sidechains of single loops</li>
+<li><p>the <a class="reference internal" href="#promod3.modelling.ReconstructSidechains" title="promod3.modelling.ReconstructSidechains"><code class="xref py py-func docutils literal notranslate"><span class="pre">ReconstructSidechains()</span></code></a> function handles a full OST
+<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">EntityHandle</span></code></a></p></li>
+<li><p>the <a class="reference internal" href="#promod3.modelling.SidechainReconstructor" title="promod3.modelling.SidechainReconstructor"><code class="xref py py-class docutils literal notranslate"><span class="pre">SidechainReconstructor</span></code></a> is linked to an all atom environment
+and used to reconstruct sidechains of single loops</p></li>
 </ul>
 <p>Example usage:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">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="k">import</span> <span class="n">modelling</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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">modelling</span>
 
 <span class="c1"># 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="s1">&#39;data/1CRN.pdb&#39;</span><span class="p">)</span>
@@ -55,8 +58,8 @@ and used to reconstruct sidechains of single loops</li>
 <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="s1">&#39;sidechain_test_rec.pdb&#39;</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">loop</span><span class="p">,</span> <span class="n">modelling</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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">loop</span><span class="p">,</span> <span class="n">modelling</span>
 
 <span class="c1"># load example (has res. numbering starting at 1)</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="s1">&#39;data/1CRN.pdb&#39;</span><span class="p">)</span>
@@ -81,56 +84,52 @@ and used to reconstruct sidechains of single loops</li>
 <span class="n">io</span><span class="o">.</span><span class="n">SavePDB</span><span class="p">(</span><span class="n">env</span><span class="o">.</span><span class="n">GetAllAtomPositions</span><span class="p">()</span><span class="o">.</span><span class="n">ToEntity</span><span class="p">(),</span> <span class="s1">&#39;sc_rec_test.pdb&#39;</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="section" id="reconstruct-function">
-<h2>Reconstruct Function<a class="headerlink" href="#reconstruct-function" title="Permalink to this headline">¶</a></h2>
-<dl class="function">
-<dt id="promod3.modelling.ReconstructSidechains">
-<code class="descclassname">promod3.modelling.</code><code class="descname">ReconstructSidechains</code><span class="sig-paren">(</span><em>ent</em>, <em>keep_sidechains=False</em>, <em>build_disulfids=True</em>, <em>rotamer_model='frm'</em>, <em>consider_ligands=True</em>, <em>rotamer_library=None</em>, <em>optimize_subrotamers=True</em>, <em>graph_max_complexity=100000000</em>, <em>graph_initial_epsilon=0.02</em>, <em>energy_function='SCWRL4'</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ReconstructSidechains" title="Permalink to this definition">¶</a></dt>
+<section id="reconstruct-function">
+<h2>Reconstruct Function<a class="headerlink" href="#reconstruct-function" title="Permalink to this heading">¶</a></h2>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.modelling.ReconstructSidechains">
+<span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">ReconstructSidechains</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ent</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">keep_sidechains</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">build_disulfids</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rotamer_model</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'frm'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">consider_ligands</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rotamer_library</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">optimize_subrotamers</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">graph_max_complexity</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100000000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">graph_initial_epsilon</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.02</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">energy_function</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'SCWRL4'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.ReconstructSidechains" title="Permalink to this definition">¶</a></dt>
 <dd><p>Reconstruct sidechains for the given 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">Parameters:</th><td class="field-body"><ul class="first last simple">
-<li><strong>ent</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, whether complete sidechains in <em>ent</em> (i.e. 
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>ent</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><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.</p></li>
+<li><p><strong>keep_sidechains</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, whether complete sidechains in <em>ent</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, whether possible disulfid bonds should be 
+and directly be added to the frame.</p></li>
+<li><p><strong>build_disulfids</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><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
-the frame.</li>
-<li><strong>rotamer_model</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Rotamer model to be used, can either be “frm” or “rrm”</li>
-<li><strong>consider_ligands</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, whether to add ligands (anything in chain
-‘_’) as static objects.</li>
-<li><strong>rotamer_library</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">BBDepRotamerLib</span></code> / <code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLib</span></code>) – A rotamer library to extract the rotamers from. The
-default is to call <code class="xref py py-meth docutils literal notranslate"><span class="pre">&lt;LoadBBDepLib&gt;()</span></code>.</li>
-<li><strong>optimize_subrotamers</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Only considered when <em>rotamer_model</em>
+the frame.</p></li>
+<li><p><strong>rotamer_model</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Rotamer model to be used, can either be “frm” or “rrm”</p></li>
+<li><p><strong>consider_ligands</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, whether to add ligands (anything in chain
+‘_’) as static objects.</p></li>
+<li><p><strong>rotamer_library</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">BBDepRotamerLib</span></code> / <code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLib</span></code>) – A rotamer library to extract the rotamers from. The
+default is to call <code class="xref py py-meth docutils literal notranslate"><span class="pre">&lt;LoadBBDepLib&gt;()</span></code>.</p></li>
+<li><p><strong>optimize_subrotamers</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Only considered when <em>rotamer_model</em>
 is “frm”.
 If set to True, the FRM solution undergoes 
 some postprocessing by calling 
 <code class="xref py py-func docutils literal notranslate"><span class="pre">SubrotamerOptimizer()</span></code> with default 
-parametrization.</li>
-<li><strong>graph_max_complexity</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Max. complexity for
-<code class="xref py py-meth docutils literal notranslate"><span class="pre">RotamerGraph.TreeSolve()</span></code>.</li>
-<li><strong>graph_intial_epsilon</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Initial epsilon for
-<code class="xref py py-meth docutils literal notranslate"><span class="pre">RotamerGraph.TreeSolve()</span></code>.</li>
-<li><strong>energy_function</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – What energy function to use can be any in 
-[“SCWRL4”, “SCWRL3”, “VINA”]</li>
+parametrization.</p></li>
+<li><p><strong>graph_max_complexity</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Max. complexity for
+<code class="xref py py-meth docutils literal notranslate"><span class="pre">RotamerGraph.TreeSolve()</span></code>.</p></li>
+<li><p><strong>graph_intial_epsilon</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Initial epsilon for
+<code class="xref py py-meth docutils literal notranslate"><span class="pre">RotamerGraph.TreeSolve()</span></code>.</p></li>
+<li><p><strong>energy_function</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – What energy function to use can be any in 
+[“SCWRL4”, “SCWRL3”, “VINA”]</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="sidechainreconstructor-class">
-<h2>SidechainReconstructor Class<a class="headerlink" href="#sidechainreconstructor-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.modelling.SidechainReconstructor">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">SidechainReconstructor</code><span class="sig-paren">(</span><em>keep_sidechains=True</em>, <em>build_disulfids=True</em>, <em>optimize_subrotamers=False</em>, <em>remodel_cutoff=20</em>, <em>rigid_frame_cutoff=0</em>, <em>graph_max_complexity=100000000</em>, <em>graph_intial_epsilon=0.02</em>, <em>disulfid_score_thresh=45</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SidechainReconstructor" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="sidechainreconstructor-class">
+<h2>SidechainReconstructor Class<a class="headerlink" href="#sidechainreconstructor-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.SidechainReconstructor">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">SidechainReconstructor</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">keep_sidechains</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">build_disulfids</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">optimize_subrotamers</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">remodel_cutoff</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">20</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rigid_frame_cutoff</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">graph_max_complexity</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">100000000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">graph_intial_epsilon</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.02</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">disulfid_score_thresh</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">45</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SidechainReconstructor" title="Permalink to this definition">¶</a></dt>
 <dd><p>Reconstruct sidechains for single loops or residues. Must be linked to an
 all atom env. (<a class="reference internal" href="#promod3.modelling.SidechainReconstructor.AttachEnvironment" title="promod3.modelling.SidechainReconstructor.AttachEnvironment"><code class="xref py py-meth docutils literal notranslate"><span class="pre">AttachEnvironment()</span></code></a>) containing the structural data.
 Residues are identified as N- or C-terminal according to the seqres in the
@@ -145,25 +144,23 @@ will be considered for remodelling. Everything further away than 20A but
 within 20A + 10A = 30A will also be considered as rigid frame (all
 backbone atoms and the sidechain if present). The distance criteria is the
 CB atom distance between residues (CA in case of glycine).</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>keep_sidechains</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, whether complete sidechains in env. (i.e.
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>keep_sidechains</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, whether complete sidechains in env. (i.e.
 containing all required atoms) should be kept rigid
-and directly be added to the result.</li>
-<li><strong>build_disulfids</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, whether possible disulfid bonds should be
+and directly be added to the result.</p></li>
+<li><p><strong>build_disulfids</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><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
-the result.</li>
-<li><strong>optimize_subrotamers</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, whether the
+the result.</p></li>
+<li><p><strong>optimize_subrotamers</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, whether the
 <a class="reference internal" href="../sidechain/subrotamer_optimizer.html#promod3.sidechain.SubrotamerOptimizer" title="promod3.sidechain.SubrotamerOptimizer"><code class="xref py py-func docutils literal notranslate"><span class="pre">SubrotamerOptimizer()</span></code></a>
 with default parametrization should be called
-if we’re dealing with FRM rotamers.</li>
-<li><strong>remodel_cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Cutoff to identify all residues that need to be
-remodelled.</li>
-<li><strong>rigid_frame_cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Cutoff to control the visibility of the rigid
+if we’re dealing with FRM rotamers.</p></li>
+<li><p><strong>remodel_cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Cutoff to identify all residues that need to be
+remodelled.</p></li>
+<li><p><strong>rigid_frame_cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Cutoff to control the visibility of the rigid
 frame to the reconstruction procedure.
 Everything within
 [<em>remodel_cutoff</em>,
@@ -172,24 +169,22 @@ will be considered as ridig frame. Small sidenote:
 if the <em>keep_sidechains</em> flag is true and all
 residues within <em>remodel_cutoff</em> already have a
 sidechain, the <em>rigid_frame_cutoff</em> won’t have any
-effect.</li>
-<li><strong>graph_max_complexity</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Max. complexity for
-<code class="xref py py-meth docutils literal notranslate"><span class="pre">promod3.sidechain.RotamerGraph.TreeSolve()</span></code>.</li>
-<li><strong>graph_intial_epsilon</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Initial epsilon for
-<code class="xref py py-meth docutils literal notranslate"><span class="pre">promod3.sidechain.RotamerGraph.TreeSolve()</span></code>.</li>
-<li><strong>disulfid_score_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – If <code class="xref py py-meth docutils literal notranslate"><span class="pre">DisulfidScore()</span></code> between two CYS is
+effect.</p></li>
+<li><p><strong>graph_max_complexity</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Max. complexity for
+<code class="xref py py-meth docutils literal notranslate"><span class="pre">promod3.sidechain.RotamerGraph.TreeSolve()</span></code>.</p></li>
+<li><p><strong>graph_intial_epsilon</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Initial epsilon for
+<code class="xref py py-meth docutils literal notranslate"><span class="pre">promod3.sidechain.RotamerGraph.TreeSolve()</span></code>.</p></li>
+<li><p><strong>disulfid_score_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – If <code class="xref py py-meth docutils literal notranslate"><span class="pre">DisulfidScore()</span></code> between two CYS is
 below this threshold, we consider them to be
-disulfid-bonded.</li>
+disulfid-bonded.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.modelling.SidechainReconstructor.Reconstruct">
-<code class="descname">Reconstruct</code><span class="sig-paren">(</span><em>start_resnum</em>, <em>num_residues</em>, <em>chain_idx=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SidechainReconstructor.Reconstruct" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">Reconstruct</code><span class="sig-paren">(</span><em>start_resnum_list</em>, <em>num_residues_list</em>, <em>chain_idx_list</em><span class="sig-paren">)</span></dt>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.SidechainReconstructor.Reconstruct">
+<span class="sig-name descname"><span class="pre">Reconstruct</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_residues</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SidechainReconstructor.Reconstruct" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">Reconstruct</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">start_resnum_list</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_residues_list</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx_list</span></span></em><span class="sig-paren">)</span></dt>
 <dd><p>Reconstruct sidechains for one or several loops extracted from environment.
 Overlapping loops are merged and 0-length loops are removed. All residues in
 the loop(s) are expected to contain valid CB positions (or CA for GLY),
@@ -199,103 +194,92 @@ loop(s) and in the surrounding with all backbone and sidechain heavy atom
 positions set.</p>
 <p>Note that the structural data of the loop(s) is expected to be in the linked
 environment before calling this!</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResNum" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResNum</span></code></a>) – Start of loop.</li>
-<li><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of loop.</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Chain the loop belongs to.</li>
-<li><strong>start_resnum_list</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Starts of loops.</li>
-<li><strong>num_residues_list</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Lengths of loops.</li>
-<li><strong>chain_idx_list</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Chains the loops belong to.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResNum" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResNum</span></code></a>) – Start of loop.</p></li>
+<li><p><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of loop.</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Chain the loop belongs to.</p></li>
+<li><p><strong>start_resnum_list</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Starts of loops.</p></li>
+<li><p><strong>num_residues_list</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Lengths of loops.</p></li>
+<li><p><strong>chain_idx_list</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Chains the loops belong to.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">A helper object with all the reconstruction results.</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.SidechainReconstructionData" title="promod3.modelling.SidechainReconstructionData"><code class="xref py py-class docutils literal notranslate"><span class="pre">SidechainReconstructionData</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"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if reconstructor was never attached
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A helper object with all the reconstruction results.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.modelling.SidechainReconstructionData" title="promod3.modelling.SidechainReconstructionData"><code class="xref py py-class docutils literal notranslate"><span class="pre">SidechainReconstructionData</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if reconstructor was never attached
 to an environment or if parameters lead to invalid / unset
 positions in environment.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.modelling.SidechainReconstructor.AttachEnvironment">
-<code class="descname">AttachEnvironment</code><span class="sig-paren">(</span><em>env</em>, <em>use_frm=True</em>, <em>use_bbdep_lib=True</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SidechainReconstructor.AttachEnvironment" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">AttachEnvironment</code><span class="sig-paren">(</span><em>env</em>, <em>use_frm</em>, <em>rotamer_library</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.modelling.SidechainReconstructor.AttachEnvironment">
+<span class="sig-name descname"><span class="pre">AttachEnvironment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">env</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">use_frm</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">use_bbdep_lib</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.modelling.SidechainReconstructor.AttachEnvironment" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">AttachEnvironment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">env</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">use_frm</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rotamer_library</span></span></em><span class="sig-paren">)</span></dt>
 <dd><p>Link reconstructor to given <em>env</em>. A helper class is used in the background
 to provide sidechain-objects for the environment. As this class is reused by
 every reconstructor linked to <em>env</em>, the used parameters must be consistent
 if multiple reconstructors are used (or you must use a distinct <em>env</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>env</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a>) – Link to this environment.</li>
-<li><strong>use_frm</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If True, use flexible rotamer model, else rigid.</li>
-<li><strong>use_bbdep_lib</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If True, use default backbone dependent rot. library
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>env</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a>) – Link to this environment.</p></li>
+<li><p><strong>use_frm</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If True, use flexible rotamer model, else rigid.</p></li>
+<li><p><strong>use_bbdep_lib</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If True, use default backbone dependent rot. library
 (<code class="xref py py-meth docutils literal notranslate"><span class="pre">LoadBBDepLib()</span></code>), else use
 backbone independent one
-(<code class="xref py py-meth docutils literal notranslate"><span class="pre">LoadLib()</span></code>).</li>
-<li><strong>rotamer_library</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">BBDepRotamerLib</span></code> / <code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLib</span></code>) – Custom rotamer library to be used.</li>
+(<code class="xref py py-meth docutils literal notranslate"><span class="pre">LoadLib()</span></code>).</p></li>
+<li><p><strong>rotamer_library</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">BBDepRotamerLib</span></code> / <code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLib</span></code>) – Custom rotamer library to be used.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>env</em> was already linked to
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>env</em> was already linked to
 another reconstructor with inconsistent parameters. Acceptable
 changes:</p>
-<ul class="last simple">
-<li><em>keep_sidechains</em> = True, if previously False</li>
-<li><em>build_disulfids</em> = False, if previously True</li>
+<ul class="simple">
+<li><p><em>keep_sidechains</em> = True, if previously False</p></li>
+<li><p><em>build_disulfids</em> = False, if previously True</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="the-sidechainreconstructiondata-class">
-<h2>The SidechainReconstructionData class<a class="headerlink" href="#the-sidechainreconstructiondata-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.modelling.SidechainReconstructionData">
-<em class="property">class </em><code class="descclassname">promod3.modelling.</code><code class="descname">SidechainReconstructionData</code><a class="headerlink" href="#promod3.modelling.SidechainReconstructionData" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="the-sidechainreconstructiondata-class">
+<h2>The SidechainReconstructionData class<a class="headerlink" href="#the-sidechainreconstructiondata-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.modelling.SidechainReconstructionData">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.modelling.</span></span><span class="sig-name descname"><span class="pre">SidechainReconstructionData</span></span><a class="headerlink" href="#promod3.modelling.SidechainReconstructionData" title="Permalink to this definition">¶</a></dt>
 <dd><p>Contains the results of a sidechain reconstruction
 (<a class="reference internal" href="#promod3.modelling.SidechainReconstructor.Reconstruct" title="promod3.modelling.SidechainReconstructor.Reconstruct"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SidechainReconstructor.Reconstruct()</span></code></a>). All attributes are read only!</p>
-<dl class="attribute">
-<dt id="promod3.modelling.SidechainReconstructionData.env_pos">
-<code class="descname">env_pos</code><a class="headerlink" href="#promod3.modelling.SidechainReconstructionData.env_pos" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.SidechainReconstructionData.env_pos">
+<span class="sig-name descname"><span class="pre">env_pos</span></span><a class="headerlink" href="#promod3.modelling.SidechainReconstructionData.env_pos" title="Permalink to this definition">¶</a></dt>
 <dd><p>Container for structural data and mapping to the internal residue indices
 of the used <a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a>. Useful for scoring and env.
 updates.</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="../loop/all_atom.html#promod3.loop.AllAtomEnvPositions" title="promod3.loop.AllAtomEnvPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnvPositions</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnvPositions" title="promod3.loop.AllAtomEnvPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnvPositions</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.SidechainReconstructionData.loop_start_indices">
-<code class="descname">loop_start_indices</code><a class="headerlink" href="#promod3.modelling.SidechainReconstructionData.loop_start_indices" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.modelling.SidechainReconstructionData.loop_lengths">
-<code class="descname">loop_lengths</code><a class="headerlink" href="#promod3.modelling.SidechainReconstructionData.loop_lengths" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.SidechainReconstructionData.loop_start_indices">
+<span class="sig-name descname"><span class="pre">loop_start_indices</span></span><a class="headerlink" href="#promod3.modelling.SidechainReconstructionData.loop_start_indices" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.modelling.SidechainReconstructionData.loop_lengths">
+<span class="sig-name descname"><span class="pre">loop_lengths</span></span><a class="headerlink" href="#promod3.modelling.SidechainReconstructionData.loop_lengths" title="Permalink to this definition">¶</a></dt>
 <dd><p>The first <em>sum(loop_lengths)</em> residues in
 <a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnvPositions.res_indices" title="promod3.loop.AllAtomEnvPositions.res_indices"><code class="xref py py-attr docutils literal notranslate"><span class="pre">res_indices</span></code></a> of <em>env_pos</em> are
 guaranteed to belong to the actual input, all the rest comes from the close
@@ -306,83 +290,69 @@ entry in <em>loop_start_indices</em> and <em>loop_lengths</em>. For loop <em>i_l
 <em>res_indices[loop_start_indices[i_loop] + loop_lengths[i_loop] - 1]</em> is the
 C-stem of the loop. The loop indices are contiguous in <em>res_indices</em> between
 the stems.</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.SidechainReconstructionData.rotamer_res_indices">
-<code class="descname">rotamer_res_indices</code><a class="headerlink" href="#promod3.modelling.SidechainReconstructionData.rotamer_res_indices" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.SidechainReconstructionData.rotamer_res_indices">
+<span class="sig-name descname"><span class="pre">rotamer_res_indices</span></span><a class="headerlink" href="#promod3.modelling.SidechainReconstructionData.rotamer_res_indices" title="Permalink to this definition">¶</a></dt>
 <dd><p>Indices of residues within <em>env_pos</em> for which we generated a new sidechain
 (in [<em>0, len(env_pos.res_indices)-1</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">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.SidechainReconstructionData.disulfid_bridges">
-<code class="descname">disulfid_bridges</code><a class="headerlink" href="#promod3.modelling.SidechainReconstructionData.disulfid_bridges" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.SidechainReconstructionData.disulfid_bridges">
+<span class="sig-name descname"><span class="pre">disulfid_bridges</span></span><a class="headerlink" href="#promod3.modelling.SidechainReconstructionData.disulfid_bridges" title="Permalink to this definition">¶</a></dt>
 <dd><p>Pairs of residue indices within <em>env_pos</em> for which we generated a disulfid
 bridge (indices in [<em>0, len(env_pos.res_indices)-1</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">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#tuple" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> with two <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#tuple" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> with two <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.SidechainReconstructionData.is_n_ter">
-<code class="descname">is_n_ter</code><a class="headerlink" href="#promod3.modelling.SidechainReconstructionData.is_n_ter" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.SidechainReconstructionData.is_n_ter">
+<span class="sig-name descname"><span class="pre">is_n_ter</span></span><a class="headerlink" href="#promod3.modelling.SidechainReconstructionData.is_n_ter" title="Permalink to this definition">¶</a></dt>
 <dd><p>True/False depending on whether a given residue in <em>env_pos</em> is N-terminal
 in the environment (same length as <em>env_pos.res_indices</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">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.modelling.SidechainReconstructionData.is_c_ter">
-<code class="descname">is_c_ter</code><a class="headerlink" href="#promod3.modelling.SidechainReconstructionData.is_c_ter" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.modelling.SidechainReconstructionData.is_c_ter">
+<span class="sig-name descname"><span class="pre">is_c_ter</span></span><a class="headerlink" href="#promod3.modelling.SidechainReconstructionData.is_c_ter" title="Permalink to this definition">¶</a></dt>
 <dd><p>True/False depending on whether a given residue in <em>env_pos</em> is C-terminal
 in the environment (same length as <em>env_pos.res_indices</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">Type:</th><td class="field-body"><a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -403,12 +373,12 @@ in the environment (same length as <em>env_pos.res_indices</em>)</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -425,7 +395,7 @@ in the environment (same length as <em>env_pos.res_indices</em>)</p>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a><ul>
       <li>Previous: <a href="monte_carlo.html" title="previous chapter">Generating Loops De Novo</a></li>
       <li>Next: <a href="algorithms.html" title="next chapter">Modelling Algorithms</a></li>
   </ul></li>
@@ -434,27 +404,33 @@ in the environment (same length as <em>env_pos.res_indices</em>)</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/modelling/sidechain_reconstruction.rst.txt"
diff --git a/doc/html/objects.inv b/doc/html/objects.inv
index e475a666d3eb87b34bb7d67dd2c741520372a872..0ad54ab9e1e02d0723b4f906df7698b9acd56747 100644
Binary files a/doc/html/objects.inv and b/doc/html/objects.inv differ
diff --git a/doc/html/portableIO.html b/doc/html/portableIO.html
index a6c32dc2b2b514df92920276cd8f0e9edc9ecd08..18100e3648394d570770b6224e87c8bab39a01f0 100644
--- a/doc/html/portableIO.html
+++ b/doc/html/portableIO.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Using Binary Files In ProMod3 &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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>
-    <script type="text/javascript" src="_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Using Binary Files In ProMod3 &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
+    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+    <script src="_static/jquery.js"></script>
+    <script src="_static/underscore.js"></script>
+    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="_static/doctools.js"></script>
+    <script src="_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="next" title="License" href="license.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,10 +31,12 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="using-binary-files-in-project">
-<span id="portableio"></span><h1>Using Binary Files In ProMod3<a class="headerlink" href="#using-binary-files-in-project" title="Permalink to this headline">¶</a></h1>
+  <section id="using-binary-files-in-project">
+<span id="portableio"></span><h1>Using Binary Files In ProMod3<a class="headerlink" href="#using-binary-files-in-project" title="Permalink to this heading">¶</a></h1>
 <p>A few features in ProMod3 (and potentially your next addition) require binary
 files to be loaded and stored. Here, we provide guidelines and describe helper
 tools to perform tasks related to loading and storing binary files.</p>
@@ -46,10 +49,10 @@ though that <code class="docutils literal notranslate"><span class="pre">sizeof(
 memory. Everything else (e.g. <code class="docutils literal notranslate"><span class="pre">sizeof(int)</span></code>, endianness, padding of structs)
 can vary. Two approaches can be used:</p>
 <ol class="arabic simple">
-<li>Raw binary data files which are very fast to load, but assume a certain
-memory-layout for the internal representation of data</li>
-<li>Portable binary data files which are slow to load, but do not assume a given
-memory-layout for the internal representation of data</li>
+<li><p>Raw binary data files which are very fast to load, but assume a certain
+memory-layout for the internal representation of data</p></li>
+<li><p>Portable binary data files which are slow to load, but do not assume a given
+memory-layout for the internal representation of data</p></li>
 </ol>
 <p>Portable I/O should always be provided for binary files. If this is too slow
 for your needs, you can provide functionality for raw binary files. In that
@@ -65,18 +68,18 @@ automatically done in the <code class="docutils literal notranslate"><span class
 tests in <code class="file docutils literal notranslate"><span class="pre">test_check_io.cc</span></code> and <code class="file docutils literal notranslate"><span class="pre">test_portable_binary.cc</span></code> and in the
 C++ code of the classes listed above (see methods Load, Save, LoadPortable and
 SavePortable).</p>
-<div class="section" id="file-header">
-<h2>File Header<a class="headerlink" href="#file-header" title="Permalink to this headline">¶</a></h2>
+<section id="file-header">
+<h2>File Header<a class="headerlink" href="#file-header" title="Permalink to this heading">¶</a></h2>
 <p>The header is written/read with functions provided in the header file
 <code class="file docutils literal notranslate"><span class="pre">promod3/core/check_io.hh</span></code>. The header is written/read before the data
 itself and is structured as follows:</p>
 <ul class="simple">
-<li>a “magic number” (ensures that we can read <code class="docutils literal notranslate"><span class="pre">uint32_t</span></code> which is needed for
-the following fields)</li>
-<li>a version number (allows for backwards-compatibility)</li>
-<li>sizes for all types which are treated as raw memory (i.e. casted to a byte
-(<code class="docutils literal notranslate"><span class="pre">char</span></code>) array and written either to memory or to a stream)</li>
-<li>example values for the used base-types (ensures we can e.g. read an <code class="docutils literal notranslate"><span class="pre">int</span></code>)</li>
+<li><p>a “magic number” (ensures that we can read <code class="docutils literal notranslate"><span class="pre">uint32_t</span></code> which is needed for
+the following fields)</p></li>
+<li><p>a version number (allows for backwards-compatibility)</p></li>
+<li><p>sizes for all types which are treated as raw memory (i.e. casted to a byte
+(<code class="docutils literal notranslate"><span class="pre">char</span></code>) array and written either to memory or to a stream)</p></li>
+<li><p>example values for the used base-types (ensures we can e.g. read an <code class="docutils literal notranslate"><span class="pre">int</span></code>)</p></li>
 </ul>
 <p>For portable I/O (see below), we only write/read fixed-width fundamental
 data-types (e.g. <code class="docutils literal notranslate"><span class="pre">int32_t</span></code>, <code class="docutils literal notranslate"><span class="pre">float</span></code>). Hence, we only check if we can
@@ -88,321 +91,324 @@ When data is converted from a non-fixed fundamental type <code class="docutils l
 corresponding check (or get) function in the exact same order when loading.</p>
 <p>All functions are templatized to work with any OST-like data sink or source
 and overloaded to work with <code class="docutils literal notranslate"><span class="pre">std::ofstream</span></code> and <code class="docutils literal notranslate"><span class="pre">std::ifstream</span></code>.</p>
-</div>
-<div class="section" id="portable-binary-data">
-<h2>Portable Binary Data<a class="headerlink" href="#portable-binary-data" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="portable-binary-data">
+<h2>Portable Binary Data<a class="headerlink" href="#portable-binary-data" title="Permalink to this heading">¶</a></h2>
 <p>Portable files are written/read with functions and classes provided in the
 header file <code class="file docutils literal notranslate"><span class="pre">promod3/core/portable_binary_serializer.hh</span></code>.
 Generally, we store any data-structure value-by-value as fixed-width types!</p>
 <p>Writing and reading is performed by the following classes:</p>
 <ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">PortableBinaryDataSink</span></code> to write files (opened as <code class="docutils literal notranslate"><span class="pre">std::ofstream</span></code>)</li>
-<li><code class="docutils literal notranslate"><span class="pre">PortableBinaryDataSource</span></code> to read files (opened as <code class="docutils literal notranslate"><span class="pre">std::ifstream</span></code>)</li>
+<li><p><code class="docutils literal notranslate"><span class="pre">PortableBinaryDataSink</span></code> to write files (opened as <code class="docutils literal notranslate"><span class="pre">std::ofstream</span></code>)</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">PortableBinaryDataSource</span></code> to read files (opened as <code class="docutils literal notranslate"><span class="pre">std::ifstream</span></code>)</p></li>
 </ul>
 <p>Each serializable class must define a <code class="docutils literal notranslate"><span class="pre">Serialize</span></code> function that accepts sinks
 and sources, such as:</p>
-<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">template</span> <span class="o">&lt;</span><span class="k">typename</span> <span class="n">DS</span><span class="o">&gt;</span>
-<span class="kt">void</span> <span class="n">Serialize</span><span class="p">(</span><span class="n">DS</span><span class="o">&amp;</span> <span class="n">ds</span><span class="p">)</span> <span class="p">{</span>
-  <span class="c1">// serialize element-by-element</span>
+<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="k">template</span><span class="w"> </span><span class="o">&lt;</span><span class="k">typename</span><span class="w"> </span><span class="nc">DS</span><span class="o">&gt;</span>
+<span class="kt">void</span><span class="w"> </span><span class="n">Serialize</span><span class="p">(</span><span class="n">DS</span><span class="o">&amp;</span><span class="w"> </span><span class="n">ds</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
+<span class="w">  </span><span class="c1">// serialize element-by-element</span>
 <span class="p">}</span>
 </pre></div>
 </div>
 <p>Or if this is not possible for an object of type <code class="docutils literal notranslate"><span class="pre">T</span></code>, we need to define
 global functions such as:</p>
-<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="kr">inline</span> <span class="kt">void</span> <span class="nf">Serialize</span><span class="p">(</span><span class="n">core</span><span class="o">::</span><span class="n">PortableBinaryDataSource</span><span class="o">&amp;</span> <span class="n">ds</span><span class="p">,</span> <span class="n">T</span><span class="o">&amp;</span> <span class="n">t</span><span class="p">)</span> <span class="p">{</span> <span class="p">}</span>
-<span class="kr">inline</span> <span class="kt">void</span> <span class="nf">Serialize</span><span class="p">(</span><span class="n">core</span><span class="o">::</span><span class="n">PortableBinaryDataSink</span><span class="o">&amp;</span> <span class="n">ds</span><span class="p">,</span> <span class="n">T</span> <span class="n">t</span><span class="p">)</span> <span class="p">{</span> <span class="p">}</span>
+<div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="kr">inline</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">Serialize</span><span class="p">(</span><span class="n">core</span><span class="o">::</span><span class="n">PortableBinaryDataSource</span><span class="o">&amp;</span><span class="w"> </span><span class="n">ds</span><span class="p">,</span><span class="w"> </span><span class="n">T</span><span class="o">&amp;</span><span class="w"> </span><span class="n">t</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p">}</span>
+<span class="kr">inline</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">Serialize</span><span class="p">(</span><span class="n">core</span><span class="o">::</span><span class="n">PortableBinaryDataSink</span><span class="o">&amp;</span><span class="w"> </span><span class="n">ds</span><span class="p">,</span><span class="w"> </span><span class="n">T</span><span class="w"> </span><span class="n">t</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p">}</span>
 </pre></div>
 </div>
 <p>Given a sink or source object <code class="docutils literal notranslate"><span class="pre">ds</span></code>, we read/write an object <code class="docutils literal notranslate"><span class="pre">v</span></code> as:</p>
 <ul class="simple">
-<li><code class="docutils literal notranslate"><span class="pre">ds</span> <span class="pre">&amp;</span> <span class="pre">v</span></code>, if <code class="docutils literal notranslate"><span class="pre">v</span></code> is an instance of a class, a <code class="docutils literal notranslate"><span class="pre">bool</span></code> or any
-fixed-width type (e.g. <code class="docutils literal notranslate"><span class="pre">char</span></code>, <code class="docutils literal notranslate"><span class="pre">int_32_t</span></code>, <code class="docutils literal notranslate"><span class="pre">float</span></code>)</li>
-<li><code class="docutils literal notranslate"><span class="pre">core::ConvertBaseType&lt;T&gt;(ds,</span> <span class="pre">v)</span></code>, where <code class="docutils literal notranslate"><span class="pre">T</span></code> is a fixed-width type.
+<li><p><code class="docutils literal notranslate"><span class="pre">ds</span> <span class="pre">&amp;</span> <span class="pre">v</span></code>, if <code class="docutils literal notranslate"><span class="pre">v</span></code> is an instance of a class, a <code class="docutils literal notranslate"><span class="pre">bool</span></code> or any
+fixed-width type (e.g. <code class="docutils literal notranslate"><span class="pre">char</span></code>, <code class="docutils literal notranslate"><span class="pre">int_32_t</span></code>, <code class="docutils literal notranslate"><span class="pre">float</span></code>)</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">core::ConvertBaseType&lt;T&gt;(ds,</span> <span class="pre">v)</span></code>, where <code class="docutils literal notranslate"><span class="pre">T</span></code> is a fixed-width type.
 <code class="docutils literal notranslate"><span class="pre">v</span></code> will then be converted to/from <code class="docutils literal notranslate"><span class="pre">T</span></code>. This is needed for any non-fixed
-fundamental type (e.g. <code class="docutils literal notranslate"><span class="pre">uint</span></code>, <code class="docutils literal notranslate"><span class="pre">short</span></code>, <code class="docutils literal notranslate"><span class="pre">Real</span></code>).</li>
+fundamental type (e.g. <code class="docutils literal notranslate"><span class="pre">uint</span></code>, <code class="docutils literal notranslate"><span class="pre">short</span></code>, <code class="docutils literal notranslate"><span class="pre">Real</span></code>).</p></li>
 </ul>
 <p>Implementation notes:</p>
 <ul class="simple">
-<li>the <code class="docutils literal notranslate"><span class="pre">Serialize</span></code> function for fundamental types takes care of endianness
-(all written as little endian and converted from/to native endianness)</li>
-<li>custom <code class="docutils literal notranslate"><span class="pre">Serialize</span></code> functions exist for <code class="docutils literal notranslate"><span class="pre">String</span></code> (= <code class="docutils literal notranslate"><span class="pre">std::string</span></code>),
+<li><p>the <code class="docutils literal notranslate"><span class="pre">Serialize</span></code> function for fundamental types takes care of endianness
+(all written as little endian and converted from/to native endianness)</p></li>
+<li><p>custom <code class="docutils literal notranslate"><span class="pre">Serialize</span></code> functions exist for <code class="docutils literal notranslate"><span class="pre">String</span></code> (= <code class="docutils literal notranslate"><span class="pre">std::string</span></code>),
 <code class="docutils literal notranslate"><span class="pre">std::vector&lt;T&gt;</span></code> and <code class="docutils literal notranslate"><span class="pre">std::pair&lt;T,T2&gt;</span></code>. It will throw an error if the
 used type <code class="docutils literal notranslate"><span class="pre">T</span></code> or <code class="docutils literal notranslate"><span class="pre">T2</span></code> is a fundamental type. In that case, you have to
-serialize the values manually and convert each element appropriately.</li>
-<li>you can use <code class="docutils literal notranslate"><span class="pre">ds.IsSource()</span></code> to distinguish sources and sinks.</li>
+serialize the values manually and convert each element appropriately.</p></li>
+<li><p>you can use <code class="docutils literal notranslate"><span class="pre">ds.IsSource()</span></code> to distinguish sources and sinks.</p></li>
 </ul>
-</div>
-<div class="section" id="code-example">
-<h2>Code Example<a class="headerlink" href="#code-example" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="code-example">
+<h2>Code Example<a class="headerlink" href="#code-example" title="Permalink to this heading">¶</a></h2>
 <p>Here is an example of a class which provides functionality for portable
 and non-portable I/O:</p>
 <div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="c1">// includes for this class</span>
-<span class="cp">#include</span> <span class="cpf">&lt;boost/shared_ptr.hpp&gt;</span><span class="cp"></span>
-<span class="cp">#include</span> <span class="cpf">&lt;iostream&gt;</span><span class="cp"></span>
-<span class="cp">#include</span> <span class="cpf">&lt;fstream&gt;</span><span class="cp"></span>
-<span class="cp">#include</span> <span class="cpf">&lt;sstream&gt;</span><span class="cp"></span>
-<span class="cp">#include</span> <span class="cpf">&lt;vector&gt;</span><span class="cp"></span>
+<span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;boost/shared_ptr.hpp&gt;</span>
+<span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;iostream&gt;</span>
+<span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;fstream&gt;</span>
+<span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;sstream&gt;</span>
+<span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;vector&gt;</span>
 
 <span class="c1">// includes for I/O</span>
-<span class="cp">#include</span> <span class="cpf">&lt;promod3/core/message.hh&gt;</span><span class="cp"></span>
-<span class="cp">#include</span> <span class="cpf">&lt;promod3/core/portable_binary_serializer.hh&gt;</span><span class="cp"></span>
-<span class="cp">#include</span> <span class="cpf">&lt;promod3/core/check_io.hh&gt;</span><span class="cp"></span>
+<span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;promod3/core/message.hh&gt;</span>
+<span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;promod3/core/portable_binary_serializer.hh&gt;</span>
+<span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;promod3/core/check_io.hh&gt;</span>
 
-<span class="k">using</span> <span class="k">namespace</span> <span class="n">promod3</span><span class="p">;</span>
+<span class="k">using</span><span class="w"> </span><span class="k">namespace</span><span class="w"> </span><span class="nn">promod3</span><span class="p">;</span>
 
 <span class="c1">// define some data-structure</span>
-<span class="k">struct</span> <span class="n">SomeData</span> <span class="p">{</span>
-  <span class="kt">short</span> <span class="n">s</span><span class="p">;</span>
-  <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
-  <span class="n">Real</span> <span class="n">r</span><span class="p">;</span>
-
-  <span class="c1">// portable serialization</span>
-  <span class="c1">// (cleanly element by element with fixed-width base-types)</span>
-  <span class="k">template</span> <span class="o">&lt;</span><span class="k">typename</span> <span class="n">DS</span><span class="o">&gt;</span>
-  <span class="kt">void</span> <span class="n">Serialize</span><span class="p">(</span><span class="n">DS</span><span class="o">&amp;</span> <span class="n">ds</span><span class="p">)</span> <span class="p">{</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">ConvertBaseType</span><span class="o">&lt;</span><span class="kt">int16_t</span><span class="o">&gt;</span><span class="p">(</span><span class="n">ds</span><span class="p">,</span> <span class="n">s</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">ConvertBaseType</span><span class="o">&lt;</span><span class="kt">int32_t</span><span class="o">&gt;</span><span class="p">(</span><span class="n">ds</span><span class="p">,</span> <span class="n">i</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">ConvertBaseType</span><span class="o">&lt;</span><span class="kt">float</span><span class="o">&gt;</span><span class="p">(</span><span class="n">ds</span><span class="p">,</span> <span class="n">r</span><span class="p">);</span>
-  <span class="p">}</span>
+<span class="k">struct</span><span class="w"> </span><span class="nc">SomeData</span><span class="w"> </span><span class="p">{</span>
+<span class="w">  </span><span class="kt">short</span><span class="w"> </span><span class="n">s</span><span class="p">;</span>
+<span class="w">  </span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="p">;</span>
+<span class="w">  </span><span class="n">Real</span><span class="w"> </span><span class="n">r</span><span class="p">;</span>
+
+<span class="w">  </span><span class="c1">// portable serialization</span>
+<span class="w">  </span><span class="c1">// (cleanly element by element with fixed-width base-types)</span>
+<span class="w">  </span><span class="k">template</span><span class="w"> </span><span class="o">&lt;</span><span class="k">typename</span><span class="w"> </span><span class="nc">DS</span><span class="o">&gt;</span>
+<span class="w">  </span><span class="kt">void</span><span class="w"> </span><span class="n">Serialize</span><span class="p">(</span><span class="n">DS</span><span class="o">&amp;</span><span class="w"> </span><span class="n">ds</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">ConvertBaseType</span><span class="o">&lt;</span><span class="kt">int16_t</span><span class="o">&gt;</span><span class="p">(</span><span class="n">ds</span><span class="p">,</span><span class="w"> </span><span class="n">s</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">ConvertBaseType</span><span class="o">&lt;</span><span class="kt">int32_t</span><span class="o">&gt;</span><span class="p">(</span><span class="n">ds</span><span class="p">,</span><span class="w"> </span><span class="n">i</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">ConvertBaseType</span><span class="o">&lt;</span><span class="kt">float</span><span class="o">&gt;</span><span class="p">(</span><span class="n">ds</span><span class="p">,</span><span class="w"> </span><span class="n">r</span><span class="p">);</span>
+<span class="w">  </span><span class="p">}</span>
 <span class="p">};</span>
 
 <span class="c1">// define pointer type</span>
-<span class="k">class</span> <span class="nc">MyClass</span><span class="p">;</span>
-<span class="k">typedef</span> <span class="n">boost</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o">&lt;</span><span class="n">MyClass</span><span class="o">&gt;</span> <span class="n">MyClassPtr</span><span class="p">;</span>
+<span class="k">class</span><span class="w"> </span><span class="nc">MyClass</span><span class="p">;</span>
+<span class="k">typedef</span><span class="w"> </span><span class="n">boost</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o">&lt;</span><span class="n">MyClass</span><span class="o">&gt;</span><span class="w"> </span><span class="n">MyClassPtr</span><span class="p">;</span>
 
 <span class="c1">// define class</span>
-<span class="k">class</span> <span class="nc">MyClass</span> <span class="p">{</span>
+<span class="k">class</span><span class="w"> </span><span class="nc">MyClass</span><span class="w"> </span><span class="p">{</span>
 <span class="k">public</span><span class="o">:</span>
-  <span class="n">MyClass</span><span class="p">(</span><span class="k">const</span> <span class="n">String</span><span class="o">&amp;</span> <span class="n">id</span><span class="p">)</span><span class="o">:</span> <span class="n">id_</span><span class="p">(</span><span class="n">id</span><span class="p">)</span> <span class="p">{</span> <span class="p">}</span>
-
-  <span class="c1">// raw binary save</span>
-  <span class="kt">void</span> <span class="n">Save</span><span class="p">(</span><span class="k">const</span> <span class="n">String</span><span class="o">&amp;</span> <span class="n">filename</span><span class="p">)</span> <span class="p">{</span>
-    <span class="c1">// open file</span>
-    <span class="n">std</span><span class="o">::</span><span class="n">ofstream</span> <span class="n">out_stream</span><span class="p">(</span><span class="n">filename</span><span class="p">.</span><span class="n">c_str</span><span class="p">(),</span> <span class="n">std</span><span class="o">::</span><span class="n">ios</span><span class="o">::</span><span class="n">binary</span><span class="p">);</span>
-    <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">out_stream</span><span class="p">)</span> <span class="p">{</span>
-      <span class="n">std</span><span class="o">::</span><span class="n">stringstream</span> <span class="n">ss</span><span class="p">;</span>
-      <span class="n">ss</span> <span class="o">&lt;&lt;</span> <span class="s">&quot;The file &#39;&quot;</span> <span class="o">&lt;&lt;</span> <span class="n">filename</span> <span class="o">&lt;&lt;</span> <span class="s">&quot;&#39; cannot be opened.&quot;</span><span class="p">;</span>
-      <span class="k">throw</span> <span class="n">promod3</span><span class="o">::</span><span class="n">Error</span><span class="p">(</span><span class="n">ss</span><span class="p">.</span><span class="n">str</span><span class="p">());</span>
-    <span class="p">}</span>
-
-    <span class="c1">// header for consistency checks</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">WriteMagicNumber</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">WriteVersionNumber</span><span class="p">(</span><span class="n">out_stream</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
-    <span class="c1">// required base types: short, int, Real (for SomeData).</span>
-    <span class="c1">//                      uint (for sizes)</span>
-    <span class="c1">// required structs: SomeData</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">WriteTypeSize</span><span class="o">&lt;</span><span class="n">uint</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">WriteTypeSize</span><span class="o">&lt;</span><span class="kt">short</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">WriteTypeSize</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">WriteTypeSize</span><span class="o">&lt;</span><span class="n">Real</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">WriteTypeSize</span><span class="o">&lt;</span><span class="n">SomeData</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
-    <span class="c1">// check values for base types</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">WriteBaseType</span><span class="o">&lt;</span><span class="n">uint</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">WriteBaseType</span><span class="o">&lt;</span><span class="kt">short</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">WriteBaseType</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">WriteBaseType</span><span class="o">&lt;</span><span class="n">Real</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
-
-    <span class="c1">// write string</span>
-    <span class="n">uint</span> <span class="n">str_len</span> <span class="o">=</span> <span class="n">id_</span><span class="p">.</span><span class="n">length</span><span class="p">();</span>
-    <span class="n">out_stream</span><span class="p">.</span><span class="n">write</span><span class="p">(</span><span class="k">reinterpret_cast</span><span class="o">&lt;</span><span class="kt">char</span><span class="o">*&gt;</span><span class="p">(</span><span class="o">&amp;</span><span class="n">str_len</span><span class="p">),</span> <span class="k">sizeof</span><span class="p">(</span><span class="n">uint</span><span class="p">));</span>
-    <span class="n">out_stream</span><span class="p">.</span><span class="n">write</span><span class="p">(</span><span class="n">id_</span><span class="p">.</span><span class="n">c_str</span><span class="p">(),</span> <span class="n">str_len</span><span class="p">);</span>
-    <span class="c1">// write vector of SomeData</span>
-    <span class="n">uint</span> <span class="n">v_size</span> <span class="o">=</span> <span class="n">data_</span><span class="p">.</span><span class="n">size</span><span class="p">();</span>
-    <span class="n">out_stream</span><span class="p">.</span><span class="n">write</span><span class="p">(</span><span class="k">reinterpret_cast</span><span class="o">&lt;</span><span class="kt">char</span><span class="o">*&gt;</span><span class="p">(</span><span class="o">&amp;</span><span class="n">v_size</span><span class="p">),</span> <span class="k">sizeof</span><span class="p">(</span><span class="n">uint</span><span class="p">));</span>
-    <span class="n">out_stream</span><span class="p">.</span><span class="n">write</span><span class="p">(</span><span class="k">reinterpret_cast</span><span class="o">&lt;</span><span class="kt">char</span><span class="o">*&gt;</span><span class="p">(</span><span class="o">&amp;</span><span class="n">data_</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span>
-                     <span class="k">sizeof</span><span class="p">(</span><span class="n">SomeData</span><span class="p">)</span><span class="o">*</span><span class="n">v_size</span><span class="p">);</span>
-  <span class="p">}</span>
-
-  <span class="c1">// raw binary load</span>
-  <span class="k">static</span> <span class="n">MyClassPtr</span> <span class="n">Load</span><span class="p">(</span><span class="k">const</span> <span class="n">String</span><span class="o">&amp;</span> <span class="n">filename</span><span class="p">)</span> <span class="p">{</span>
-    <span class="c1">// open file</span>
-    <span class="n">std</span><span class="o">::</span><span class="n">ifstream</span> <span class="n">in_stream</span><span class="p">(</span><span class="n">filename</span><span class="p">.</span><span class="n">c_str</span><span class="p">(),</span> <span class="n">std</span><span class="o">::</span><span class="n">ios</span><span class="o">::</span><span class="n">binary</span><span class="p">);</span>
-    <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">in_stream</span><span class="p">)</span> <span class="p">{</span>
-      <span class="n">std</span><span class="o">::</span><span class="n">stringstream</span> <span class="n">ss</span><span class="p">;</span>
-      <span class="n">ss</span> <span class="o">&lt;&lt;</span> <span class="s">&quot;The file &#39;&quot;</span> <span class="o">&lt;&lt;</span> <span class="n">filename</span> <span class="o">&lt;&lt;</span> <span class="s">&quot;&#39; does not exist.&quot;</span><span class="p">;</span>
-      <span class="k">throw</span> <span class="n">promod3</span><span class="o">::</span><span class="n">Error</span><span class="p">(</span><span class="n">ss</span><span class="p">.</span><span class="n">str</span><span class="p">());</span>
-    <span class="p">}</span>
-
-    <span class="c1">// header for consistency checks</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">CheckMagicNumber</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
-    <span class="kt">uint32_t</span> <span class="n">version</span> <span class="o">=</span> <span class="n">core</span><span class="o">::</span><span class="n">GetVersionNumber</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
-    <span class="k">if</span> <span class="p">(</span><span class="n">version</span> <span class="o">&gt;</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
-      <span class="n">std</span><span class="o">::</span><span class="n">stringstream</span> <span class="n">ss</span><span class="p">;</span>
-      <span class="n">ss</span> <span class="o">&lt;&lt;</span> <span class="s">&quot;Unsupported file version &#39;&quot;</span> <span class="o">&lt;&lt;</span> <span class="n">version</span>
-         <span class="o">&lt;&lt;</span> <span class="s">&quot;&#39; in &#39;&quot;</span> <span class="o">&lt;&lt;</span> <span class="n">filename</span><span class="p">;</span>
-      <span class="k">throw</span> <span class="n">promod3</span><span class="o">::</span><span class="n">Error</span><span class="p">(</span><span class="n">ss</span><span class="p">.</span><span class="n">str</span><span class="p">());</span>
-    <span class="p">}</span>
-    <span class="c1">// check for exact sizes as used in Save</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">CheckTypeSize</span><span class="o">&lt;</span><span class="n">uint</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">CheckTypeSize</span><span class="o">&lt;</span><span class="kt">short</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">CheckTypeSize</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">CheckTypeSize</span><span class="o">&lt;</span><span class="n">Real</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">CheckTypeSize</span><span class="o">&lt;</span><span class="n">SomeData</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
-    <span class="c1">// check values for base types used in Save</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">CheckBaseType</span><span class="o">&lt;</span><span class="n">uint</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">CheckBaseType</span><span class="o">&lt;</span><span class="kt">short</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">CheckBaseType</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">CheckBaseType</span><span class="o">&lt;</span><span class="n">Real</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
-
-    <span class="c1">// read string (needed for constructor)</span>
-    <span class="n">uint</span> <span class="n">str_len</span><span class="p">;</span>
-    <span class="n">in_stream</span><span class="p">.</span><span class="n">read</span><span class="p">(</span><span class="k">reinterpret_cast</span><span class="o">&lt;</span><span class="kt">char</span><span class="o">*&gt;</span><span class="p">(</span><span class="o">&amp;</span><span class="n">str_len</span><span class="p">),</span> <span class="k">sizeof</span><span class="p">(</span><span class="n">uint</span><span class="p">));</span>
-    <span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o">&lt;</span><span class="kt">char</span><span class="o">&gt;</span> <span class="n">tmp_buf</span><span class="p">(</span><span class="n">str_len</span><span class="p">);</span>
-    <span class="n">in_stream</span><span class="p">.</span><span class="n">read</span><span class="p">(</span><span class="o">&amp;</span><span class="n">tmp_buf</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">str_len</span><span class="p">);</span>
-
-    <span class="c1">// construct</span>
-    <span class="n">MyClassPtr</span> <span class="nf">p</span><span class="p">(</span><span class="k">new</span> <span class="n">MyClass</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="o">&amp;</span><span class="n">tmp_buf</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">str_len</span><span class="p">)));</span>
-
-    <span class="c1">// read vector of SomeData</span>
-    <span class="n">uint</span> <span class="n">v_size</span><span class="p">;</span>
-    <span class="n">in_stream</span><span class="p">.</span><span class="n">read</span><span class="p">(</span><span class="k">reinterpret_cast</span><span class="o">&lt;</span><span class="kt">char</span><span class="o">*&gt;</span><span class="p">(</span><span class="o">&amp;</span><span class="n">v_size</span><span class="p">),</span> <span class="k">sizeof</span><span class="p">(</span><span class="n">uint</span><span class="p">));</span>
-    <span class="n">p</span><span class="o">-&gt;</span><span class="n">data_</span><span class="p">.</span><span class="n">resize</span><span class="p">(</span><span class="n">v_size</span><span class="p">);</span>
-    <span class="n">in_stream</span><span class="p">.</span><span class="n">read</span><span class="p">(</span><span class="k">reinterpret_cast</span><span class="o">&lt;</span><span class="kt">char</span><span class="o">*&gt;</span><span class="p">(</span><span class="o">&amp;</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">data_</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span>
-                   <span class="k">sizeof</span><span class="p">(</span><span class="n">SomeData</span><span class="p">)</span><span class="o">*</span><span class="n">v_size</span><span class="p">);</span>
-
-    <span class="k">return</span> <span class="n">p</span><span class="p">;</span>
-  <span class="p">}</span>
-
-  <span class="c1">// portable binary save</span>
-  <span class="kt">void</span> <span class="n">SavePortable</span><span class="p">(</span><span class="k">const</span> <span class="n">String</span><span class="o">&amp;</span> <span class="n">filename</span><span class="p">)</span> <span class="p">{</span>
-    <span class="c1">// open file</span>
-    <span class="n">std</span><span class="o">::</span><span class="n">ofstream</span> <span class="n">out_stream_</span><span class="p">(</span><span class="n">filename</span><span class="p">.</span><span class="n">c_str</span><span class="p">(),</span> <span class="n">std</span><span class="o">::</span><span class="n">ios</span><span class="o">::</span><span class="n">binary</span><span class="p">);</span>
-    <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">out_stream_</span><span class="p">)</span> <span class="p">{</span>
-      <span class="n">std</span><span class="o">::</span><span class="n">stringstream</span> <span class="n">ss</span><span class="p">;</span>
-      <span class="n">ss</span> <span class="o">&lt;&lt;</span> <span class="s">&quot;The file &#39;&quot;</span> <span class="o">&lt;&lt;</span> <span class="n">filename</span> <span class="o">&lt;&lt;</span> <span class="s">&quot;&#39; cannot be opened.&quot;</span><span class="p">;</span>
-      <span class="k">throw</span> <span class="n">promod3</span><span class="o">::</span><span class="n">Error</span><span class="p">(</span><span class="n">ss</span><span class="p">.</span><span class="n">str</span><span class="p">());</span>
-    <span class="p">}</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">PortableBinaryDataSink</span> <span class="n">out_stream</span><span class="p">(</span><span class="n">out_stream_</span><span class="p">);</span>
-
-    <span class="c1">// header for consistency checks</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">WriteMagicNumber</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">WriteVersionNumber</span><span class="p">(</span><span class="n">out_stream</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
-    <span class="c1">// required base types: short, int, Real</span>
-    <span class="c1">// -&gt; converted to int16_t, int32_t, float</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">WriteTypeSize</span><span class="o">&lt;</span><span class="kt">int16_t</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">WriteTypeSize</span><span class="o">&lt;</span><span class="kt">int32_t</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">WriteTypeSize</span><span class="o">&lt;</span><span class="kt">float</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
-    <span class="c1">// check values for base types</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">WriteBaseType</span><span class="o">&lt;</span><span class="kt">int16_t</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">WriteBaseType</span><span class="o">&lt;</span><span class="kt">int32_t</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">WriteBaseType</span><span class="o">&lt;</span><span class="kt">float</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
-
-    <span class="c1">// write string (provided in portable_binary_serializer.hh)</span>
-    <span class="n">out_stream</span> <span class="o">&amp;</span> <span class="n">id_</span><span class="p">;</span>
-    <span class="c1">// write vector (provided in portable_binary_serializer.hh)</span>
-    <span class="c1">// -&gt; only ok like this if vector of custom type</span>
-    <span class="c1">// -&gt; will call Serialize-function for each element</span>
-    <span class="n">out_stream</span> <span class="o">&amp;</span> <span class="n">data_</span><span class="p">;</span>
-  <span class="p">}</span>
-
-  <span class="c1">// portable binary load</span>
-  <span class="k">static</span> <span class="n">MyClassPtr</span> <span class="n">LoadPortable</span><span class="p">(</span><span class="k">const</span> <span class="n">String</span><span class="o">&amp;</span> <span class="n">filename</span><span class="p">)</span> <span class="p">{</span>
-    <span class="c1">// open file</span>
-    <span class="n">std</span><span class="o">::</span><span class="n">ifstream</span> <span class="n">in_stream_</span><span class="p">(</span><span class="n">filename</span><span class="p">.</span><span class="n">c_str</span><span class="p">(),</span> <span class="n">std</span><span class="o">::</span><span class="n">ios</span><span class="o">::</span><span class="n">binary</span><span class="p">);</span>
-    <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">in_stream_</span><span class="p">)</span> <span class="p">{</span>
-      <span class="n">std</span><span class="o">::</span><span class="n">stringstream</span> <span class="n">ss</span><span class="p">;</span>
-      <span class="n">ss</span> <span class="o">&lt;&lt;</span> <span class="s">&quot;The file &#39;&quot;</span> <span class="o">&lt;&lt;</span> <span class="n">filename</span> <span class="o">&lt;&lt;</span> <span class="s">&quot;&#39; does not exist.&quot;</span><span class="p">;</span>
-      <span class="k">throw</span> <span class="n">promod3</span><span class="o">::</span><span class="n">Error</span><span class="p">(</span><span class="n">ss</span><span class="p">.</span><span class="n">str</span><span class="p">());</span>
-    <span class="p">}</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">PortableBinaryDataSource</span> <span class="n">in_stream</span><span class="p">(</span><span class="n">in_stream_</span><span class="p">);</span>
-
-    <span class="c1">// header for consistency checks</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">CheckMagicNumber</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
-    <span class="kt">uint32_t</span> <span class="n">version</span> <span class="o">=</span> <span class="n">core</span><span class="o">::</span><span class="n">GetVersionNumber</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
-    <span class="k">if</span> <span class="p">(</span><span class="n">version</span> <span class="o">&gt;</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
-      <span class="n">std</span><span class="o">::</span><span class="n">stringstream</span> <span class="n">ss</span><span class="p">;</span>
-      <span class="n">ss</span> <span class="o">&lt;&lt;</span> <span class="s">&quot;Unsupported file version &#39;&quot;</span> <span class="o">&lt;&lt;</span> <span class="n">version</span>
-         <span class="o">&lt;&lt;</span> <span class="s">&quot;&#39; in &#39;&quot;</span> <span class="o">&lt;&lt;</span> <span class="n">filename</span><span class="p">;</span>
-      <span class="k">throw</span> <span class="n">promod3</span><span class="o">::</span><span class="n">Error</span><span class="p">(</span><span class="n">ss</span><span class="p">.</span><span class="n">str</span><span class="p">());</span>
-    <span class="p">}</span>
-    <span class="c1">// check for if required base types (see SavePortable)</span>
-    <span class="c1">// are big enough</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">CheckTypeSize</span><span class="o">&lt;</span><span class="kt">short</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">,</span> <span class="nb">true</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">CheckTypeSize</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">,</span> <span class="nb">true</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">CheckTypeSize</span><span class="o">&lt;</span><span class="n">Real</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">,</span> <span class="nb">true</span><span class="p">);</span>
-    <span class="c1">// check values for base types used in Save</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">CheckBaseType</span><span class="o">&lt;</span><span class="kt">int16_t</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">CheckBaseType</span><span class="o">&lt;</span><span class="kt">int32_t</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
-    <span class="n">core</span><span class="o">::</span><span class="n">CheckBaseType</span><span class="o">&lt;</span><span class="kt">float</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
-
-    <span class="c1">// read string (needed for constructor)</span>
-    <span class="n">String</span> <span class="n">s</span><span class="p">;</span>
-    <span class="n">in_stream</span> <span class="o">&amp;</span> <span class="n">s</span><span class="p">;</span>
-    <span class="c1">// construct</span>
-    <span class="n">MyClassPtr</span> <span class="nf">p</span><span class="p">(</span><span class="k">new</span> <span class="n">MyClass</span><span class="p">(</span><span class="n">s</span><span class="p">));</span>
-    <span class="c1">// read vector of SomeData</span>
-    <span class="n">in_stream</span> <span class="o">&amp;</span> <span class="n">p</span><span class="o">-&gt;</span><span class="n">data_</span><span class="p">;</span>
-
-    <span class="k">return</span> <span class="n">p</span><span class="p">;</span>
-  <span class="p">}</span>
+<span class="w">  </span><span class="n">MyClass</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">String</span><span class="o">&amp;</span><span class="w"> </span><span class="n">id</span><span class="p">)</span><span class="o">:</span><span class="w"> </span><span class="n">id_</span><span class="p">(</span><span class="n">id</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p">}</span>
+
+<span class="w">  </span><span class="c1">// raw binary save</span>
+<span class="w">  </span><span class="kt">void</span><span class="w"> </span><span class="n">Save</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">String</span><span class="o">&amp;</span><span class="w"> </span><span class="n">filename</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
+<span class="w">    </span><span class="c1">// open file</span>
+<span class="w">    </span><span class="n">std</span><span class="o">::</span><span class="n">ofstream</span><span class="w"> </span><span class="nf">out_stream</span><span class="p">(</span><span class="n">filename</span><span class="p">.</span><span class="n">c_str</span><span class="p">(),</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">ios</span><span class="o">::</span><span class="n">binary</span><span class="p">);</span>
+<span class="w">    </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">out_stream</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
+<span class="w">      </span><span class="n">std</span><span class="o">::</span><span class="n">stringstream</span><span class="w"> </span><span class="n">ss</span><span class="p">;</span>
+<span class="w">      </span><span class="n">ss</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;The file &#39;&quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">filename</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;&#39; cannot be opened.&quot;</span><span class="p">;</span>
+<span class="w">      </span><span class="k">throw</span><span class="w"> </span><span class="n">promod3</span><span class="o">::</span><span class="n">Error</span><span class="p">(</span><span class="n">ss</span><span class="p">.</span><span class="n">str</span><span class="p">());</span>
+<span class="w">    </span><span class="p">}</span>
+
+<span class="w">    </span><span class="c1">// header for consistency checks</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">WriteMagicNumber</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">WriteVersionNumber</span><span class="p">(</span><span class="n">out_stream</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
+<span class="w">    </span><span class="c1">// required base types: short, int, Real (for SomeData).</span>
+<span class="w">    </span><span class="c1">//                      uint (for sizes)</span>
+<span class="w">    </span><span class="c1">// required structs: SomeData</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">WriteTypeSize</span><span class="o">&lt;</span><span class="n">uint</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">WriteTypeSize</span><span class="o">&lt;</span><span class="kt">short</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">WriteTypeSize</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">WriteTypeSize</span><span class="o">&lt;</span><span class="n">Real</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">WriteTypeSize</span><span class="o">&lt;</span><span class="n">SomeData</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="c1">// check values for base types</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">WriteBaseType</span><span class="o">&lt;</span><span class="n">uint</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">WriteBaseType</span><span class="o">&lt;</span><span class="kt">short</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">WriteBaseType</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">WriteBaseType</span><span class="o">&lt;</span><span class="n">Real</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
+
+<span class="w">    </span><span class="c1">// write string</span>
+<span class="w">    </span><span class="n">uint</span><span class="w"> </span><span class="n">str_len</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">id_</span><span class="p">.</span><span class="n">length</span><span class="p">();</span>
+<span class="w">    </span><span class="n">out_stream</span><span class="p">.</span><span class="n">write</span><span class="p">(</span><span class="k">reinterpret_cast</span><span class="o">&lt;</span><span class="kt">char</span><span class="o">*&gt;</span><span class="p">(</span><span class="o">&amp;</span><span class="n">str_len</span><span class="p">),</span><span class="w"> </span><span class="k">sizeof</span><span class="p">(</span><span class="n">uint</span><span class="p">));</span>
+<span class="w">    </span><span class="n">out_stream</span><span class="p">.</span><span class="n">write</span><span class="p">(</span><span class="n">id_</span><span class="p">.</span><span class="n">c_str</span><span class="p">(),</span><span class="w"> </span><span class="n">str_len</span><span class="p">);</span>
+<span class="w">    </span><span class="c1">// write vector of SomeData</span>
+<span class="w">    </span><span class="n">uint</span><span class="w"> </span><span class="n">v_size</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">data_</span><span class="p">.</span><span class="n">size</span><span class="p">();</span>
+<span class="w">    </span><span class="n">out_stream</span><span class="p">.</span><span class="n">write</span><span class="p">(</span><span class="k">reinterpret_cast</span><span class="o">&lt;</span><span class="kt">char</span><span class="o">*&gt;</span><span class="p">(</span><span class="o">&amp;</span><span class="n">v_size</span><span class="p">),</span><span class="w"> </span><span class="k">sizeof</span><span class="p">(</span><span class="n">uint</span><span class="p">));</span>
+<span class="w">    </span><span class="n">out_stream</span><span class="p">.</span><span class="n">write</span><span class="p">(</span><span class="k">reinterpret_cast</span><span class="o">&lt;</span><span class="kt">char</span><span class="o">*&gt;</span><span class="p">(</span><span class="o">&amp;</span><span class="n">data_</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span>
+<span class="w">                     </span><span class="k">sizeof</span><span class="p">(</span><span class="n">SomeData</span><span class="p">)</span><span class="o">*</span><span class="n">v_size</span><span class="p">);</span>
+<span class="w">  </span><span class="p">}</span>
+
+<span class="w">  </span><span class="c1">// raw binary load</span>
+<span class="w">  </span><span class="k">static</span><span class="w"> </span><span class="n">MyClassPtr</span><span class="w"> </span><span class="n">Load</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">String</span><span class="o">&amp;</span><span class="w"> </span><span class="n">filename</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
+<span class="w">    </span><span class="c1">// open file</span>
+<span class="w">    </span><span class="n">std</span><span class="o">::</span><span class="n">ifstream</span><span class="w"> </span><span class="nf">in_stream</span><span class="p">(</span><span class="n">filename</span><span class="p">.</span><span class="n">c_str</span><span class="p">(),</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">ios</span><span class="o">::</span><span class="n">binary</span><span class="p">);</span>
+<span class="w">    </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">in_stream</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
+<span class="w">      </span><span class="n">std</span><span class="o">::</span><span class="n">stringstream</span><span class="w"> </span><span class="n">ss</span><span class="p">;</span>
+<span class="w">      </span><span class="n">ss</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;The file &#39;&quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">filename</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;&#39; does not exist.&quot;</span><span class="p">;</span>
+<span class="w">      </span><span class="k">throw</span><span class="w"> </span><span class="n">promod3</span><span class="o">::</span><span class="n">Error</span><span class="p">(</span><span class="n">ss</span><span class="p">.</span><span class="n">str</span><span class="p">());</span>
+<span class="w">    </span><span class="p">}</span>
+
+<span class="w">    </span><span class="c1">// header for consistency checks</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">CheckMagicNumber</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">version</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">core</span><span class="o">::</span><span class="n">GetVersionNumber</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">version</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
+<span class="w">      </span><span class="n">std</span><span class="o">::</span><span class="n">stringstream</span><span class="w"> </span><span class="n">ss</span><span class="p">;</span>
+<span class="w">      </span><span class="n">ss</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;Unsupported file version &#39;&quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">version</span>
+<span class="w">         </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;&#39; in &#39;&quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">filename</span><span class="p">;</span>
+<span class="w">      </span><span class="k">throw</span><span class="w"> </span><span class="n">promod3</span><span class="o">::</span><span class="n">Error</span><span class="p">(</span><span class="n">ss</span><span class="p">.</span><span class="n">str</span><span class="p">());</span>
+<span class="w">    </span><span class="p">}</span>
+<span class="w">    </span><span class="c1">// check for exact sizes as used in Save</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">CheckTypeSize</span><span class="o">&lt;</span><span class="n">uint</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">CheckTypeSize</span><span class="o">&lt;</span><span class="kt">short</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">CheckTypeSize</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">CheckTypeSize</span><span class="o">&lt;</span><span class="n">Real</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">CheckTypeSize</span><span class="o">&lt;</span><span class="n">SomeData</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="c1">// check values for base types used in Save</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">CheckBaseType</span><span class="o">&lt;</span><span class="n">uint</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">CheckBaseType</span><span class="o">&lt;</span><span class="kt">short</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">CheckBaseType</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">CheckBaseType</span><span class="o">&lt;</span><span class="n">Real</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
+
+<span class="w">    </span><span class="c1">// read string (needed for constructor)</span>
+<span class="w">    </span><span class="n">uint</span><span class="w"> </span><span class="n">str_len</span><span class="p">;</span>
+<span class="w">    </span><span class="n">in_stream</span><span class="p">.</span><span class="n">read</span><span class="p">(</span><span class="k">reinterpret_cast</span><span class="o">&lt;</span><span class="kt">char</span><span class="o">*&gt;</span><span class="p">(</span><span class="o">&amp;</span><span class="n">str_len</span><span class="p">),</span><span class="w"> </span><span class="k">sizeof</span><span class="p">(</span><span class="n">uint</span><span class="p">));</span>
+<span class="w">    </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o">&lt;</span><span class="kt">char</span><span class="o">&gt;</span><span class="w"> </span><span class="n">tmp_buf</span><span class="p">(</span><span class="n">str_len</span><span class="p">);</span>
+<span class="w">    </span><span class="n">in_stream</span><span class="p">.</span><span class="n">read</span><span class="p">(</span><span class="o">&amp;</span><span class="n">tmp_buf</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="w"> </span><span class="n">str_len</span><span class="p">);</span>
+
+<span class="w">    </span><span class="c1">// construct</span>
+<span class="w">    </span><span class="n">MyClassPtr</span><span class="w"> </span><span class="nf">p</span><span class="p">(</span><span class="k">new</span><span class="w"> </span><span class="n">MyClass</span><span class="p">(</span><span class="n">String</span><span class="p">(</span><span class="o">&amp;</span><span class="n">tmp_buf</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="w"> </span><span class="n">str_len</span><span class="p">)));</span>
+
+<span class="w">    </span><span class="c1">// read vector of SomeData</span>
+<span class="w">    </span><span class="n">uint</span><span class="w"> </span><span class="n">v_size</span><span class="p">;</span>
+<span class="w">    </span><span class="n">in_stream</span><span class="p">.</span><span class="n">read</span><span class="p">(</span><span class="k">reinterpret_cast</span><span class="o">&lt;</span><span class="kt">char</span><span class="o">*&gt;</span><span class="p">(</span><span class="o">&amp;</span><span class="n">v_size</span><span class="p">),</span><span class="w"> </span><span class="k">sizeof</span><span class="p">(</span><span class="n">uint</span><span class="p">));</span>
+<span class="w">    </span><span class="n">p</span><span class="o">-&gt;</span><span class="n">data_</span><span class="p">.</span><span class="n">resize</span><span class="p">(</span><span class="n">v_size</span><span class="p">);</span>
+<span class="w">    </span><span class="n">in_stream</span><span class="p">.</span><span class="n">read</span><span class="p">(</span><span class="k">reinterpret_cast</span><span class="o">&lt;</span><span class="kt">char</span><span class="o">*&gt;</span><span class="p">(</span><span class="o">&amp;</span><span class="n">p</span><span class="o">-&gt;</span><span class="n">data_</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span>
+<span class="w">                   </span><span class="k">sizeof</span><span class="p">(</span><span class="n">SomeData</span><span class="p">)</span><span class="o">*</span><span class="n">v_size</span><span class="p">);</span>
+
+<span class="w">    </span><span class="k">return</span><span class="w"> </span><span class="n">p</span><span class="p">;</span>
+<span class="w">  </span><span class="p">}</span>
+
+<span class="w">  </span><span class="c1">// portable binary save</span>
+<span class="w">  </span><span class="kt">void</span><span class="w"> </span><span class="n">SavePortable</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">String</span><span class="o">&amp;</span><span class="w"> </span><span class="n">filename</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
+<span class="w">    </span><span class="c1">// open file</span>
+<span class="w">    </span><span class="n">std</span><span class="o">::</span><span class="n">ofstream</span><span class="w"> </span><span class="nf">out_stream_</span><span class="p">(</span><span class="n">filename</span><span class="p">.</span><span class="n">c_str</span><span class="p">(),</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">ios</span><span class="o">::</span><span class="n">binary</span><span class="p">);</span>
+<span class="w">    </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">out_stream_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
+<span class="w">      </span><span class="n">std</span><span class="o">::</span><span class="n">stringstream</span><span class="w"> </span><span class="n">ss</span><span class="p">;</span>
+<span class="w">      </span><span class="n">ss</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;The file &#39;&quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">filename</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;&#39; cannot be opened.&quot;</span><span class="p">;</span>
+<span class="w">      </span><span class="k">throw</span><span class="w"> </span><span class="n">promod3</span><span class="o">::</span><span class="n">Error</span><span class="p">(</span><span class="n">ss</span><span class="p">.</span><span class="n">str</span><span class="p">());</span>
+<span class="w">    </span><span class="p">}</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">PortableBinaryDataSink</span><span class="w"> </span><span class="n">out_stream</span><span class="p">(</span><span class="n">out_stream_</span><span class="p">);</span>
+
+<span class="w">    </span><span class="c1">// header for consistency checks</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">WriteMagicNumber</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">WriteVersionNumber</span><span class="p">(</span><span class="n">out_stream</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
+<span class="w">    </span><span class="c1">// required base types: short, int, Real</span>
+<span class="w">    </span><span class="c1">// -&gt; converted to int16_t, int32_t, float</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">WriteTypeSize</span><span class="o">&lt;</span><span class="kt">int16_t</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">WriteTypeSize</span><span class="o">&lt;</span><span class="kt">int32_t</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">WriteTypeSize</span><span class="o">&lt;</span><span class="kt">float</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="c1">// check values for base types</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">WriteBaseType</span><span class="o">&lt;</span><span class="kt">int16_t</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">WriteBaseType</span><span class="o">&lt;</span><span class="kt">int32_t</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">WriteBaseType</span><span class="o">&lt;</span><span class="kt">float</span><span class="o">&gt;</span><span class="p">(</span><span class="n">out_stream</span><span class="p">);</span>
+
+<span class="w">    </span><span class="c1">// write string (provided in portable_binary_serializer.hh)</span>
+<span class="w">    </span><span class="n">out_stream</span><span class="w"> </span><span class="o">&amp;</span><span class="w"> </span><span class="n">id_</span><span class="p">;</span>
+<span class="w">    </span><span class="c1">// write vector (provided in portable_binary_serializer.hh)</span>
+<span class="w">    </span><span class="c1">// -&gt; only ok like this if vector of custom type</span>
+<span class="w">    </span><span class="c1">// -&gt; will call Serialize-function for each element</span>
+<span class="w">    </span><span class="n">out_stream</span><span class="w"> </span><span class="o">&amp;</span><span class="w"> </span><span class="n">data_</span><span class="p">;</span>
+<span class="w">  </span><span class="p">}</span>
+
+<span class="w">  </span><span class="c1">// portable binary load</span>
+<span class="w">  </span><span class="k">static</span><span class="w"> </span><span class="n">MyClassPtr</span><span class="w"> </span><span class="n">LoadPortable</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">String</span><span class="o">&amp;</span><span class="w"> </span><span class="n">filename</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
+<span class="w">    </span><span class="c1">// open file</span>
+<span class="w">    </span><span class="n">std</span><span class="o">::</span><span class="n">ifstream</span><span class="w"> </span><span class="nf">in_stream_</span><span class="p">(</span><span class="n">filename</span><span class="p">.</span><span class="n">c_str</span><span class="p">(),</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">ios</span><span class="o">::</span><span class="n">binary</span><span class="p">);</span>
+<span class="w">    </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">in_stream_</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
+<span class="w">      </span><span class="n">std</span><span class="o">::</span><span class="n">stringstream</span><span class="w"> </span><span class="n">ss</span><span class="p">;</span>
+<span class="w">      </span><span class="n">ss</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;The file &#39;&quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">filename</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;&#39; does not exist.&quot;</span><span class="p">;</span>
+<span class="w">      </span><span class="k">throw</span><span class="w"> </span><span class="n">promod3</span><span class="o">::</span><span class="n">Error</span><span class="p">(</span><span class="n">ss</span><span class="p">.</span><span class="n">str</span><span class="p">());</span>
+<span class="w">    </span><span class="p">}</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">PortableBinaryDataSource</span><span class="w"> </span><span class="n">in_stream</span><span class="p">(</span><span class="n">in_stream_</span><span class="p">);</span>
+
+<span class="w">    </span><span class="c1">// header for consistency checks</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">CheckMagicNumber</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">version</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">core</span><span class="o">::</span><span class="n">GetVersionNumber</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">version</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
+<span class="w">      </span><span class="n">std</span><span class="o">::</span><span class="n">stringstream</span><span class="w"> </span><span class="n">ss</span><span class="p">;</span>
+<span class="w">      </span><span class="n">ss</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;Unsupported file version &#39;&quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">version</span>
+<span class="w">         </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;&#39; in &#39;&quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="n">filename</span><span class="p">;</span>
+<span class="w">      </span><span class="k">throw</span><span class="w"> </span><span class="n">promod3</span><span class="o">::</span><span class="n">Error</span><span class="p">(</span><span class="n">ss</span><span class="p">.</span><span class="n">str</span><span class="p">());</span>
+<span class="w">    </span><span class="p">}</span>
+<span class="w">    </span><span class="c1">// check for if required base types (see SavePortable)</span>
+<span class="w">    </span><span class="c1">// are big enough</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">CheckTypeSize</span><span class="o">&lt;</span><span class="kt">short</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">,</span><span class="w"> </span><span class="nb">true</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">CheckTypeSize</span><span class="o">&lt;</span><span class="kt">int</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">,</span><span class="w"> </span><span class="nb">true</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">CheckTypeSize</span><span class="o">&lt;</span><span class="n">Real</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">,</span><span class="w"> </span><span class="nb">true</span><span class="p">);</span>
+<span class="w">    </span><span class="c1">// check values for base types used in Save</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">CheckBaseType</span><span class="o">&lt;</span><span class="kt">int16_t</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">CheckBaseType</span><span class="o">&lt;</span><span class="kt">int32_t</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
+<span class="w">    </span><span class="n">core</span><span class="o">::</span><span class="n">CheckBaseType</span><span class="o">&lt;</span><span class="kt">float</span><span class="o">&gt;</span><span class="p">(</span><span class="n">in_stream</span><span class="p">);</span>
+
+<span class="w">    </span><span class="c1">// read string (needed for constructor)</span>
+<span class="w">    </span><span class="n">String</span><span class="w"> </span><span class="n">s</span><span class="p">;</span>
+<span class="w">    </span><span class="n">in_stream</span><span class="w"> </span><span class="o">&amp;</span><span class="w"> </span><span class="n">s</span><span class="p">;</span>
+<span class="w">    </span><span class="c1">// construct</span>
+<span class="w">    </span><span class="n">MyClassPtr</span><span class="w"> </span><span class="nf">p</span><span class="p">(</span><span class="k">new</span><span class="w"> </span><span class="n">MyClass</span><span class="p">(</span><span class="n">s</span><span class="p">));</span>
+<span class="w">    </span><span class="c1">// read vector of SomeData</span>
+<span class="w">    </span><span class="n">in_stream</span><span class="w"> </span><span class="o">&amp;</span><span class="w"> </span><span class="n">p</span><span class="o">-&gt;</span><span class="n">data_</span><span class="p">;</span>
+
+<span class="w">    </span><span class="k">return</span><span class="w"> </span><span class="n">p</span><span class="p">;</span>
+<span class="w">  </span><span class="p">}</span>
 
 <span class="k">private</span><span class="o">:</span>
-  <span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o">&lt;</span><span class="n">SomeData</span><span class="o">&gt;</span> <span class="n">data_</span><span class="p">;</span>
-  <span class="n">String</span> <span class="n">id_</span><span class="p">;</span>
+<span class="w">  </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o">&lt;</span><span class="n">SomeData</span><span class="o">&gt;</span><span class="w"> </span><span class="n">data_</span><span class="p">;</span>
+<span class="w">  </span><span class="n">String</span><span class="w"> </span><span class="n">id_</span><span class="p">;</span>
 <span class="p">};</span>
 
-<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span> <span class="p">{</span>
-  <span class="c1">// generate raw file</span>
-  <span class="n">MyClassPtr</span> <span class="n">p</span><span class="p">(</span><span class="k">new</span> <span class="n">MyClass</span><span class="p">(</span><span class="s">&quot;HELLO&quot;</span><span class="p">));</span>
-  <span class="n">p</span><span class="o">-&gt;</span><span class="n">Save</span><span class="p">(</span><span class="s">&quot;test.dat&quot;</span><span class="p">);</span>
-  <span class="c1">// load raw file</span>
-  <span class="n">p</span> <span class="o">=</span> <span class="n">MyClass</span><span class="o">::</span><span class="n">Load</span><span class="p">(</span><span class="s">&quot;test.dat&quot;</span><span class="p">);</span>
+<span class="kt">int</span><span class="w"> </span><span class="nf">main</span><span class="p">()</span><span class="w"> </span><span class="p">{</span>
+<span class="w">  </span><span class="c1">// generate raw file</span>
+<span class="w">  </span><span class="n">MyClassPtr</span><span class="w"> </span><span class="n">p</span><span class="p">(</span><span class="k">new</span><span class="w"> </span><span class="n">MyClass</span><span class="p">(</span><span class="s">&quot;HELLO&quot;</span><span class="p">));</span>
+<span class="w">  </span><span class="n">p</span><span class="o">-&gt;</span><span class="n">Save</span><span class="p">(</span><span class="s">&quot;test.dat&quot;</span><span class="p">);</span>
+<span class="w">  </span><span class="c1">// load raw file</span>
+<span class="w">  </span><span class="n">p</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">MyClass</span><span class="o">::</span><span class="n">Load</span><span class="p">(</span><span class="s">&quot;test.dat&quot;</span><span class="p">);</span>
 
-  <span class="c1">// generate portable file</span>
-  <span class="n">p</span><span class="o">-&gt;</span><span class="n">SavePortable</span><span class="p">(</span><span class="s">&quot;test.dat&quot;</span><span class="p">);</span>
-  <span class="c1">// load portable file</span>
-  <span class="n">p</span> <span class="o">=</span> <span class="n">MyClass</span><span class="o">::</span><span class="n">LoadPortable</span><span class="p">(</span><span class="s">&quot;test.dat&quot;</span><span class="p">);</span>
+<span class="w">  </span><span class="c1">// generate portable file</span>
+<span class="w">  </span><span class="n">p</span><span class="o">-&gt;</span><span class="n">SavePortable</span><span class="p">(</span><span class="s">&quot;test.dat&quot;</span><span class="p">);</span>
+<span class="w">  </span><span class="c1">// load portable file</span>
+<span class="w">  </span><span class="n">p</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">MyClass</span><span class="o">::</span><span class="n">LoadPortable</span><span class="p">(</span><span class="s">&quot;test.dat&quot;</span><span class="p">);</span>
 
-  <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
+<span class="w">  </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
 <span class="p">}</span>
 </pre></div>
 </div>
-</div>
-<div class="section" id="exisiting-binary-files">
-<h2>Exisiting Binary Files<a class="headerlink" href="#exisiting-binary-files" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="exisiting-binary-files">
+<h2>Exisiting Binary Files<a class="headerlink" href="#exisiting-binary-files" title="Permalink to this heading">¶</a></h2>
 <p>The following binary files are currently in ProMod3:</p>
 <ul class="simple">
-<li>module <code class="docutils literal notranslate"><span class="pre">loop</span></code>:<ul>
-<li><code class="file docutils literal notranslate"><span class="pre">frag_db.dat</span></code>
-(<a class="reference internal" href="loop/structure_db.html#promod3.loop.FragDB" title="promod3.loop.FragDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragDB</span></code></a>)</li>
-<li><code class="file docutils literal notranslate"><span class="pre">structure_db.dat</span></code>
-(<a class="reference internal" href="loop/structure_db.html#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a>)</li>
-<li><code class="file docutils literal notranslate"><span class="pre">torsion_sampler_coil.dat</span></code>
-(<a class="reference internal" href="loop/torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a>)</li>
-<li><code class="file docutils literal notranslate"><span class="pre">torsion_sampler.dat</span></code>
-(<a class="reference internal" href="loop/torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a>)</li>
-<li><code class="file docutils literal notranslate"><span class="pre">torsion_sampler_extended.dat</span></code>
-(<a class="reference internal" href="loop/torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a>)</li>
-<li><code class="file docutils literal notranslate"><span class="pre">torsion_sampler_helical.dat</span></code>
-(<a class="reference internal" href="loop/torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a>)</li>
-<li><code class="file docutils literal notranslate"><span class="pre">ff_lookup_charmm.dat</span></code>
-(<a class="reference internal" href="loop/mm_system_creation.html#promod3.loop.ForcefieldLookup" title="promod3.loop.ForcefieldLookup"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldLookup</span></code></a>)</li>
+<li><p>module <code class="docutils literal notranslate"><span class="pre">loop</span></code>:</p>
+<ul>
+<li><p><code class="file docutils literal notranslate"><span class="pre">frag_db.dat</span></code>
+(<a class="reference internal" href="loop/structure_db.html#promod3.loop.FragDB" title="promod3.loop.FragDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">FragDB</span></code></a>)</p></li>
+<li><p><code class="file docutils literal notranslate"><span class="pre">structure_db.dat</span></code>
+(<a class="reference internal" href="loop/structure_db.html#promod3.loop.StructureDB" title="promod3.loop.StructureDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">StructureDB</span></code></a>)</p></li>
+<li><p><code class="file docutils literal notranslate"><span class="pre">torsion_sampler_coil.dat</span></code>
+(<a class="reference internal" href="loop/torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a>)</p></li>
+<li><p><code class="file docutils literal notranslate"><span class="pre">torsion_sampler.dat</span></code>
+(<a class="reference internal" href="loop/torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a>)</p></li>
+<li><p><code class="file docutils literal notranslate"><span class="pre">torsion_sampler_extended.dat</span></code>
+(<a class="reference internal" href="loop/torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a>)</p></li>
+<li><p><code class="file docutils literal notranslate"><span class="pre">torsion_sampler_helical.dat</span></code>
+(<a class="reference internal" href="loop/torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a>)</p></li>
+<li><p><code class="file docutils literal notranslate"><span class="pre">ff_lookup_charmm.dat</span></code>
+(<a class="reference internal" href="loop/mm_system_creation.html#promod3.loop.ForcefieldLookup" title="promod3.loop.ForcefieldLookup"><code class="xref py py-class docutils literal notranslate"><span class="pre">ForcefieldLookup</span></code></a>)</p></li>
 </ul>
 </li>
-<li>module <code class="docutils literal notranslate"><span class="pre">scoring</span></code>:<ul>
-<li><code class="file docutils literal notranslate"><span class="pre">cbeta_scorer.dat</span></code>
-(<a class="reference internal" href="scoring/backbone_scorers.html#promod3.scoring.CBetaScorer" title="promod3.scoring.CBetaScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBetaScorer</span></code></a>)</li>
-<li><code class="file docutils literal notranslate"><span class="pre">cb_packing_scorer.dat</span></code>
-(<a class="reference internal" href="scoring/backbone_scorers.html#promod3.scoring.CBPackingScorer" title="promod3.scoring.CBPackingScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBPackingScorer</span></code></a>)</li>
-<li><code class="file docutils literal notranslate"><span class="pre">hbond_scorer.dat</span></code>
-(<a class="reference internal" href="scoring/backbone_scorers.html#promod3.scoring.HBondScorer" title="promod3.scoring.HBondScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">HBondScorer</span></code></a>)</li>
-<li><code class="file docutils literal notranslate"><span class="pre">reduced_scorer.dat</span></code>
-(<a class="reference internal" href="scoring/backbone_scorers.html#promod3.scoring.ReducedScorer" title="promod3.scoring.ReducedScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ReducedScorer</span></code></a>)</li>
-<li><code class="file docutils literal notranslate"><span class="pre">ss_agreement_scorer.dat</span></code>
-(<a class="reference internal" href="scoring/backbone_scorers.html#promod3.scoring.SSAgreementScorer" title="promod3.scoring.SSAgreementScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">SSAgreementScorer</span></code></a>)</li>
-<li><code class="file docutils literal notranslate"><span class="pre">torsion_scorer.dat</span></code>
-(<a class="reference internal" href="scoring/backbone_scorers.html#promod3.scoring.TorsionScorer" title="promod3.scoring.TorsionScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionScorer</span></code></a>)</li>
-<li><code class="file docutils literal notranslate"><span class="pre">aa_scorer.dat</span></code>
-(<a class="reference internal" href="scoring/all_atom_scorers.html#promod3.scoring.AllAtomInteractionScorer" title="promod3.scoring.AllAtomInteractionScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomInteractionScorer</span></code></a>)</li>
-<li><code class="file docutils literal notranslate"><span class="pre">aa_packing_scorer.dat</span></code>
-(<a class="reference internal" href="scoring/all_atom_scorers.html#promod3.scoring.AllAtomPackingScorer" title="promod3.scoring.AllAtomPackingScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPackingScorer</span></code></a>)</li>
+<li><p>module <code class="docutils literal notranslate"><span class="pre">scoring</span></code>:</p>
+<ul>
+<li><p><code class="file docutils literal notranslate"><span class="pre">cbeta_scorer.dat</span></code>
+(<a class="reference internal" href="scoring/backbone_scorers.html#promod3.scoring.CBetaScorer" title="promod3.scoring.CBetaScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBetaScorer</span></code></a>)</p></li>
+<li><p><code class="file docutils literal notranslate"><span class="pre">cb_packing_scorer.dat</span></code>
+(<a class="reference internal" href="scoring/backbone_scorers.html#promod3.scoring.CBPackingScorer" title="promod3.scoring.CBPackingScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBPackingScorer</span></code></a>)</p></li>
+<li><p><code class="file docutils literal notranslate"><span class="pre">hbond_scorer.dat</span></code>
+(<a class="reference internal" href="scoring/backbone_scorers.html#promod3.scoring.HBondScorer" title="promod3.scoring.HBondScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">HBondScorer</span></code></a>)</p></li>
+<li><p><code class="file docutils literal notranslate"><span class="pre">reduced_scorer.dat</span></code>
+(<a class="reference internal" href="scoring/backbone_scorers.html#promod3.scoring.ReducedScorer" title="promod3.scoring.ReducedScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ReducedScorer</span></code></a>)</p></li>
+<li><p><code class="file docutils literal notranslate"><span class="pre">ss_agreement_scorer.dat</span></code>
+(<a class="reference internal" href="scoring/backbone_scorers.html#promod3.scoring.SSAgreementScorer" title="promod3.scoring.SSAgreementScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">SSAgreementScorer</span></code></a>)</p></li>
+<li><p><code class="file docutils literal notranslate"><span class="pre">torsion_scorer.dat</span></code>
+(<a class="reference internal" href="scoring/backbone_scorers.html#promod3.scoring.TorsionScorer" title="promod3.scoring.TorsionScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionScorer</span></code></a>)</p></li>
+<li><p><code class="file docutils literal notranslate"><span class="pre">aa_scorer.dat</span></code>
+(<a class="reference internal" href="scoring/all_atom_scorers.html#promod3.scoring.AllAtomInteractionScorer" title="promod3.scoring.AllAtomInteractionScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomInteractionScorer</span></code></a>)</p></li>
+<li><p><code class="file docutils literal notranslate"><span class="pre">aa_packing_scorer.dat</span></code>
+(<a class="reference internal" href="scoring/all_atom_scorers.html#promod3.scoring.AllAtomPackingScorer" title="promod3.scoring.AllAtomPackingScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPackingScorer</span></code></a>)</p></li>
 </ul>
 </li>
-<li>module <code class="docutils literal notranslate"><span class="pre">sidechain</span></code>:<ul>
-<li><code class="file docutils literal notranslate"><span class="pre">bb_dep_lib.dat</span></code>
-(<a class="reference internal" href="sidechain/rotamer_lib.html#promod3.sidechain.BBDepRotamerLib" title="promod3.sidechain.BBDepRotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">BBDepRotamerLib</span></code></a>)</li>
-<li><code class="file docutils literal notranslate"><span class="pre">lib.dat</span></code>
-(<a class="reference internal" href="sidechain/rotamer_lib.html#promod3.sidechain.RotamerLib" title="promod3.sidechain.RotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLib</span></code></a>)</li>
+<li><p>module <code class="docutils literal notranslate"><span class="pre">sidechain</span></code>:</p>
+<ul>
+<li><p><code class="file docutils literal notranslate"><span class="pre">bb_dep_lib.dat</span></code>
+(<a class="reference internal" href="sidechain/rotamer_lib.html#promod3.sidechain.BBDepRotamerLib" title="promod3.sidechain.BBDepRotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">BBDepRotamerLib</span></code></a>)</p></li>
+<li><p><code class="file docutils literal notranslate"><span class="pre">lib.dat</span></code>
+(<a class="reference internal" href="sidechain/rotamer_lib.html#promod3.sidechain.RotamerLib" title="promod3.sidechain.RotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLib</span></code></a>)</p></li>
 </ul>
 </li>
 </ul>
@@ -416,11 +422,12 @@ if you load any Python module from <code class="docutils literal notranslate"><s
 script or if you use a well-setup module on a cluster.</p>
 <p>Code for the generation of the binary files and their portable versions are
 in the <code class="file docutils literal notranslate"><span class="pre">extras/data_generation</span></code> folder (provided as-is).</p>
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -457,27 +464,33 @@ in the <code class="file docutils literal notranslate"><span class="pre">extras/
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="_sources/portableIO.rst.txt"
diff --git a/doc/html/py-modindex.html b/doc/html/py-modindex.html
index 6e2f5e7db7d0a12594e206a9cd1d2dc018c249b8..25c3aee06c839edc399266fd408cba9247534c80 100644
--- a/doc/html/py-modindex.html
+++ b/doc/html/py-modindex.html
@@ -1,26 +1,26 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Python Module Index &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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>
-    <script type="text/javascript" src="_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <title>Python Module Index &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
+    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+    <script src="_static/jquery.js"></script>
+    <script src="_static/underscore.js"></script>
+    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="_static/doctools.js"></script>
+    <script src="_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
 
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
 
@@ -31,6 +31,8 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
 
@@ -98,6 +100,7 @@
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -130,27 +133,33 @@
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
     </div>
 
diff --git a/doc/html/references.html b/doc/html/references.html
index 94e58f063eebaaeb2a754e2111048478bb764a6d..eaf08ff08fc2bb7381e65e6d66be2a9e6fc13772 100644
--- a/doc/html/references.html
+++ b/doc/html/references.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>References &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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>
-    <script type="text/javascript" src="_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>References &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
+    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+    <script src="_static/jquery.js"></script>
+    <script src="_static/underscore.js"></script>
+    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="_static/doctools.js"></script>
+    <script src="_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="next" title="Changelog" href="changelog.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,153 +31,124 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="references">
-<h1>References<a class="headerlink" href="#references" title="Permalink to this headline">¶</a></h1>
-<table class="docutils citation" frame="void" id="biasini2013" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label">[biasini2013]</td><td>Biasini M, Schmidt T, Bienert S, Mariani V, Studer G, Haas J,
+  <section id="references">
+<h1>References<a class="headerlink" href="#references" title="Permalink to this heading">¶</a></h1>
+<div role="list" class="citation-list">
+<div class="citation" id="biasini2013" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span>biasini2013<span class="fn-bracket">]</span></span>
+<p>Biasini M, Schmidt T, Bienert S, Mariani V, Studer G, Haas J,
 Johner N, Schenk AD, Philippsen A and Schwede T (2013).
 OpenStructure: an integrated software framework for
-computational structural biology. Acta Cryst.</td></tr>
-</tbody>
-</table>
-<table class="docutils citation" frame="void" id="canutescu2003" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label">[canutescu2003]</td><td>Canutescu AA and Dunbrack RL Jr. (2003).
+computational structural biology. Acta Cryst.</p>
+</div>
+<div class="citation" id="canutescu2003" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span>canutescu2003<span class="fn-bracket">]</span></span>
+<p>Canutescu AA and Dunbrack RL Jr. (2003).
 Cyclic coordinate descent: A robotics algorithm for protein
-loop closure. Protein Sci.</td></tr>
-</tbody>
-</table>
-<table class="docutils citation" frame="void" id="canutescu2003b" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label">[canutescu2003b]</td><td>Canutescu AA, Shelenkov AA, Dunbrack RL Jr. (2003).
+loop closure. Protein Sci.</p>
+</div>
+<div class="citation" id="canutescu2003b" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span>canutescu2003b<span class="fn-bracket">]</span></span>
+<p>Canutescu AA, Shelenkov AA, Dunbrack RL Jr. (2003).
 A graph-theory algorithm for rapid protein side-chain
-prediction. Protein Sci.</td></tr>
-</tbody>
-</table>
-<table class="docutils citation" frame="void" id="coutsias2005" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label">[coutsias2005]</td><td>Coutsias EA, Seok C, Wester MJ, Dill KA (2005).
+prediction. Protein Sci.</p>
+</div>
+<div class="citation" id="coutsias2005" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span>coutsias2005<span class="fn-bracket">]</span></span>
+<p>Coutsias EA, Seok C, Wester MJ, Dill KA (2005).
 Resultants and loop closure. International Journal of Quantum
-Chemistry.</td></tr>
-</tbody>
-</table>
-<table class="docutils citation" frame="void" id="chakravarty1999" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label">[chakravarty1999]</td><td>Chakravarty S, Varadarajan R (1999).
+Chemistry.</p>
+</div>
+<div class="citation" id="chakravarty1999" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span>chakravarty1999<span class="fn-bracket">]</span></span>
+<p>Chakravarty S, Varadarajan R (1999).
 Residue depth: a novel parameter for the analysis of
-protein structure and stability. Structure.</td></tr>
-</tbody>
-</table>
-<table class="docutils citation" frame="void" id="davis2006" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label">[davis2006]</td><td>Davis IW, Arendall WB, Richardson DC, Richardson JS (2006).
+protein structure and stability. Structure.</p>
+</div>
+<div class="citation" id="davis2006" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span>davis2006<span class="fn-bracket">]</span></span>
+<p>Davis IW, Arendall WB, Richardson DC, Richardson JS (2006).
 The backrub motion: how protein backbone shrugs when a sidechain
-dances. Structure.</td></tr>
-</tbody>
-</table>
-<table class="docutils citation" frame="void" id="goldstein1994" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label">[goldstein1994]</td><td>Goldstein RF (1994).
+dances. Structure.</p>
+</div>
+<div class="citation" id="goldstein1994" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span>goldstein1994<span class="fn-bracket">]</span></span>
+<p>Goldstein RF (1994).
 Efficient rotamer elimination applied to protein side-chains
-and related spin glasses. Biophys J.</td></tr>
-</tbody>
-</table>
-<table class="docutils citation" frame="void" id="jones1999" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label">[Jones1999]</td><td>Jones DT (1999).
+and related spin glasses. Biophys J.</p>
+</div>
+<div class="citation" id="jones1999" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span>Jones1999<span class="fn-bracket">]</span></span>
+<p>Jones DT (1999).
 Protein secondary structure prediction based on position-specific
-scoring matrices. J. Mol. Biol.</td></tr>
-</tbody>
-</table>
-<table class="docutils citation" frame="void" id="kabsch1983" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label">[kabsch1983]</td><td>Kabsch W, Sander C (1983).
+scoring matrices. J. Mol. Biol.</p>
+</div>
+<div class="citation" id="kabsch1983" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span>kabsch1983<span class="fn-bracket">]</span></span>
+<p>Kabsch W, Sander C (1983).
 Dictionary of protein secondary structure: pattern recognition of
-hydrogen-bonded and geometrical features. Biopolymers.</td></tr>
-</tbody>
-</table>
-<table class="docutils citation" frame="void" id="krivov2009" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label">[krivov2009]</td><td>Krivov GG, Shapovalov MV and Dunbrack RL Jr. (2009).
+hydrogen-bonded and geometrical features. Biopolymers.</p>
+</div>
+<div class="citation" id="krivov2009" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span>krivov2009<span class="fn-bracket">]</span></span>
+<p>Krivov GG, Shapovalov MV and Dunbrack RL Jr. (2009).
 Improved prediction of protein side-chain conformations with
-SCWRL4. Proteins.</td></tr>
-</tbody>
-</table>
-<table class="docutils citation" frame="void" id="leach1998" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label">[leach1998]</td><td>Leach AR, Lemon AP (1998).
+SCWRL4. Proteins.</p>
+</div>
+<div class="citation" id="leach1998" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span>leach1998<span class="fn-bracket">]</span></span>
+<p>Leach AR, Lemon AP (1998).
 Exploring the conformational space of protein side chains using
-dead-end elimination and the A* algorithm. Proteins.</td></tr>
-</tbody>
-</table>
-<table class="docutils citation" frame="void" id="nussinov1991" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label">[nussinov1991]</td><td>Nussinov R and Wolfson HJ (1991).
+dead-end elimination and the A* algorithm. Proteins.</p>
+</div>
+<div class="citation" id="nussinov1991" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span>nussinov1991<span class="fn-bracket">]</span></span>
+<p>Nussinov R and Wolfson HJ (1991).
 Efficient detection of three-dimensional structural motifs in
-biological macromolecules by computer vision techniques. PNAS.</td></tr>
-</tbody>
-</table>
-<table class="docutils citation" frame="void" id="shapovalov2011" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label">[shapovalov2011]</td><td>Shapovalov MV and Dunbrack RL Jr. (2011).
+biological macromolecules by computer vision techniques. PNAS.</p>
+</div>
+<div class="citation" id="shapovalov2011" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span>shapovalov2011<span class="fn-bracket">]</span></span>
+<p>Shapovalov MV and Dunbrack RL Jr. (2011).
 A smoothed backbone-dependent rotamer library for proteins
 derived from adaptive kernel density estimates and
-regressions. Structure.</td></tr>
-</tbody>
-</table>
-<table class="docutils citation" frame="void" id="soding2005" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label">[soding2005]</td><td>Söding J (2005).
+regressions. Structure.</p>
+</div>
+<div class="citation" id="soding2005" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span>soding2005<span class="fn-bracket">]</span></span>
+<p>Söding J (2005).
 Protein homology detection by HMM-HMM comparison.
-Bioinformatics.</td></tr>
-</tbody>
-</table>
-<table class="docutils citation" frame="void" id="solis2006" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label">[solis2006]</td><td>Solis AD, Rackovsky S (2006). Improvement of statistical
+Bioinformatics.</p>
+</div>
+<div class="citation" id="solis2006" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span>solis2006<span class="fn-bracket">]</span></span>
+<p>Solis AD, Rackovsky S (2006). Improvement of statistical
 potentials and threading score functions using information
-maximization. Proteins.</td></tr>
-</tbody>
-</table>
-<table class="docutils citation" frame="void" id="trott2010" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label">[trott2010]</td><td>Trott O, Olson AJ (2010). AutoDock Vina: improving the speed and
+maximization. Proteins.</p>
+</div>
+<div class="citation" id="trott2010" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span>trott2010<span class="fn-bracket">]</span></span>
+<p>Trott O, Olson AJ (2010). AutoDock Vina: improving the speed and
 accuracy of docking with a new scoring function, efficient
-optimization and multithreading. J Comput Chem</td></tr>
-</tbody>
-</table>
-<table class="docutils citation" frame="void" id="zhou2005" rules="none">
-<colgroup><col class="label" /><col /></colgroup>
-<tbody valign="top">
-<tr><td class="label">[zhou2005]</td><td>Zhou H, Zhou Y (2005).
+optimization and multithreading. J Comput Chem</p>
+</div>
+<div class="citation" id="zhou2005" role="doc-biblioentry">
+<span class="label"><span class="fn-bracket">[</span>zhou2005<span class="fn-bracket">]</span></span>
+<p>Zhou H, Zhou Y (2005).
 Fold Recognition by Combining Sequence Profiles Derived From
 Evolution and From Depth-Dependent Structural Alignment of
-Fragments. Proteins.</td></tr>
-</tbody>
-</table>
+Fragments. Proteins.</p>
 </div>
+</div>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -211,27 +183,33 @@ Fragments. Proteins.</td></tr>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="_sources/references.rst.txt"
diff --git a/doc/html/scoring/all_atom_scorers.html b/doc/html/scoring/all_atom_scorers.html
index 4259699ea7dace262ea01a8318a41b144683a411..9be8b321978d0850fc3b92768279672dc6c37320 100644
--- a/doc/html/scoring/all_atom_scorers.html
+++ b/doc/html/scoring/all_atom_scorers.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>All Atom Scorers &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>All Atom Scorers &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Other Scoring Functions" href="other_scoring_functions.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,237 +31,215 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="all-atom-scorers">
-<h1>All Atom Scorers<a class="headerlink" href="#all-atom-scorers" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="allatomoverallscorer-class">
-<h2>AllAtomOverallScorer class<a class="headerlink" href="#allatomoverallscorer-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.scoring.AllAtomOverallScorer">
-<em class="property">class </em><code class="descclassname">promod3.scoring.</code><code class="descname">AllAtomOverallScorer</code><a class="headerlink" href="#promod3.scoring.AllAtomOverallScorer" title="Permalink to this definition">¶</a></dt>
+  <section id="all-atom-scorers">
+<h1>All Atom Scorers<a class="headerlink" href="#all-atom-scorers" title="Permalink to this heading">¶</a></h1>
+<section id="allatomoverallscorer-class">
+<h2>AllAtomOverallScorer class<a class="headerlink" href="#allatomoverallscorer-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomOverallScorer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">AllAtomOverallScorer</span></span><a class="headerlink" href="#promod3.scoring.AllAtomOverallScorer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Container that allows for the storage of multiple scorers identified by a key
-(<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) and the computation of combined scores.</p>
+(<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) and the computation of combined scores.</p>
 <p>Scorers need to be individually set or loaded by
 <a class="reference internal" href="#promod3.scoring.LoadDefaultAllAtomOverallScorer" title="promod3.scoring.LoadDefaultAllAtomOverallScorer"><code class="xref py py-func docutils literal notranslate"><span class="pre">LoadDefaultAllAtomOverallScorer()</span></code></a></p>
-<dl class="method">
-<dt id="promod3.scoring.AllAtomOverallScorer.Contains">
-<code class="descname">Contains</code><span class="sig-paren">(</span><em>key</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomOverallScorer.Contains" 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, if a scorer object for this key was already added.</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>key</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Key for desired scorer.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomOverallScorer.Contains">
+<span class="sig-name descname"><span class="pre">Contains</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomOverallScorer.Contains" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>True, if a scorer object for this key was already added.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>key</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Key for desired scorer.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.AllAtomOverallScorer.Get">
-<code class="descname">Get</code><span class="sig-paren">(</span><em>key</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomOverallScorer.Get" 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">Scorer with the given <em>key</em> (read-only access).</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.scoring.AllAtomScorer" title="promod3.scoring.AllAtomScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomScorer</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>key</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Key for desired scorer.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if there is no scorer with that
-<em>key</em>.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomOverallScorer.Get">
+<span class="sig-name descname"><span class="pre">Get</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomOverallScorer.Get" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Scorer with the given <em>key</em> (read-only access).</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.scoring.AllAtomScorer" title="promod3.scoring.AllAtomScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomScorer</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>key</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Key for desired scorer.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if there is no scorer with that
+<em>key</em>.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.AllAtomOverallScorer.AttachEnvironment">
-<code class="descname">AttachEnvironment</code><span class="sig-paren">(</span><em>env</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomOverallScorer.AttachEnvironment" 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>env</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a>) – Link all scorers to this score environment.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomOverallScorer.AttachEnvironment">
+<span class="sig-name descname"><span class="pre">AttachEnvironment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">env</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomOverallScorer.AttachEnvironment" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>env</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a>) – Link all scorers to this score environment.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.AllAtomOverallScorer.CalculateLinearCombination">
-<code class="descname">CalculateLinearCombination</code><span class="sig-paren">(</span><em>linear_weights</em>, <em>start_resnum</em>, <em>num_residues</em>, <em>chain_idx</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomOverallScorer.CalculateLinearCombination" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomOverallScorer.CalculateLinearCombination">
+<span class="sig-name descname"><span class="pre">CalculateLinearCombination</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">linear_weights</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_residues</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomOverallScorer.CalculateLinearCombination" title="Permalink to this definition">¶</a></dt>
 <dd><p>Calculate linear combination of scores for the desired loop(s) (extracted
 from environment) against the set environment (see
 <a class="reference internal" href="#promod3.scoring.AllAtomScorer.CalculateScore" title="promod3.scoring.AllAtomScorer.CalculateScore"><code class="xref py py-meth docutils literal notranslate"><span class="pre">AllAtomScorer.CalculateScore()</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 simple">
-<li><strong>linear_weights</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#dict" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> (keys: <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>,
-values: <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)) – Weights for each desired scorer. You can add a
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>linear_weights</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#dict" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> (keys: <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>,
+values: <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)) – Weights for each desired scorer. You can add a
 constant value to each score by defining a weight
-with key “intercept”.</li>
-<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number(s) defining the position(s) in the SEQRES
-(see <a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a> for indexing)</li>
-<li><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of loop(s).</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the loop(s) belongs to
-(see <a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a> for indexing)</li>
+with key “intercept”.</p></li>
+<li><p><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number(s) defining the position(s) in the SEQRES
+(see <a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a> for indexing)</p></li>
+<li><p><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of loop(s).</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the loop(s) belongs to
+(see <a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a> for indexing)</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Score for the given set of atoms.</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</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"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>linear_weights</em> has a <em>key</em> for
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Score for the given set of atoms.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>linear_weights</em> has a <em>key</em> for
 which no scorer exists or anything raised in
 <a class="reference internal" href="#promod3.scoring.AllAtomScorer.CalculateScore" title="promod3.scoring.AllAtomScorer.CalculateScore"><code class="xref py py-meth docutils literal notranslate"><span class="pre">AllAtomScorer.CalculateScore()</span></code></a> for any of the used scorers.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.AllAtomOverallScorer.__getitem__">
-<code class="descname">__getitem__</code><span class="sig-paren">(</span><em>key</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomOverallScorer.__getitem__" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.scoring.AllAtomOverallScorer.__setitem__">
-<code class="descname">__setitem__</code><span class="sig-paren">(</span><em>key</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomOverallScorer.__setitem__" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomOverallScorer.__getitem__">
+<span class="sig-name descname"><span class="pre">__getitem__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomOverallScorer.__getitem__" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomOverallScorer.__setitem__">
+<span class="sig-name descname"><span class="pre">__setitem__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomOverallScorer.__setitem__" title="Permalink to this definition">¶</a></dt>
 <dd><p>Allow read/write access (with [<em>key</em>]) to scorer object with given key.</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>key</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Key for desired scorer.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>key</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Key for desired scorer.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.scoring.LoadDefaultAllAtomOverallScorer">
-<code class="descclassname">promod3.scoring.</code><code class="descname">LoadDefaultAllAtomOverallScorer</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.LoadDefaultAllAtomOverallScorer" 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">Loads or creates the default scorers accessible through
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.scoring.LoadDefaultAllAtomOverallScorer">
+<span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">LoadDefaultAllAtomOverallScorer</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.LoadDefaultAllAtomOverallScorer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Loads or creates the default scorers accessible through
 following keys:
-“aa_interaction”, “aa_packing”, “aa_clash”</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.scoring.AllAtomOverallScorer" title="promod3.scoring.AllAtomOverallScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomOverallScorer</span></code></a></td>
-</tr>
-</tbody>
-</table>
+“aa_interaction”, “aa_packing”, “aa_clash”</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.scoring.AllAtomOverallScorer" title="promod3.scoring.AllAtomOverallScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomOverallScorer</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="allatomscorer-base-class">
-<h2>AllAtomScorer base class<a class="headerlink" href="#allatomscorer-base-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.scoring.AllAtomScorer">
-<em class="property">class </em><code class="descclassname">promod3.scoring.</code><code class="descname">AllAtomScorer</code><a class="headerlink" href="#promod3.scoring.AllAtomScorer" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="allatomscorer-base-class">
+<h2>AllAtomScorer base class<a class="headerlink" href="#allatomscorer-base-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomScorer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">AllAtomScorer</span></span><a class="headerlink" href="#promod3.scoring.AllAtomScorer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Base class for all the all atom scorers listed below.</p>
-<dl class="method">
-<dt id="promod3.scoring.AllAtomScorer.AttachEnvironment">
-<code class="descname">AttachEnvironment</code><span class="sig-paren">(</span><em>env</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomScorer.AttachEnvironment" 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>env</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a>) – Link scorer to this score environment.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomScorer.AttachEnvironment">
+<span class="sig-name descname"><span class="pre">AttachEnvironment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">env</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomScorer.AttachEnvironment" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>env</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a>) – Link scorer to this score environment.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.AllAtomScorer.CalculateScore">
-<code class="descname">CalculateScore</code><span class="sig-paren">(</span><em>start_resnum</em>, <em>num_residues</em>, <em>chain_idx</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomScorer.CalculateScore" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomScorer.CalculateScore">
+<span class="sig-name descname"><span class="pre">CalculateScore</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_residues</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomScorer.CalculateScore" title="Permalink to this definition">¶</a></dt>
 <dd><p>Calculates score for the desired loop(s) (extracted from environment) against
 the set environment. Unless otherwise noted in the scorer, a lower “score”
 is better!</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number(s) defining the position(s) in the SEQRES
-(see <a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a> for indexing)</li>
-<li><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of loop(s).</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the loop(s) belongs to
-(see <a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a> for indexing)</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number(s) defining the position(s) in the SEQRES
+(see <a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a> for indexing)</p></li>
+<li><p><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of loop(s).</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the loop(s) belongs to
+(see <a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a> for indexing)</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Score for the given set of atoms.</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</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">(for most scorers) <code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if scorer was
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Score for the given set of atoms.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p>(for most scorers) <code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if scorer was
 never attached to a score environment, if scorer has never been
 properly initialized or if <em>chain_index</em> / <em>start_resnum</em> lead to
 invalid positions.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.AllAtomScorer.CalculateScoreProfile">
-<code class="descname">CalculateScoreProfile</code><span class="sig-paren">(</span><em>start_resnum</em>, <em>num_residues</em>, <em>chain_idx=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomScorer.CalculateScoreProfile" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomScorer.CalculateScoreProfile">
+<span class="sig-name descname"><span class="pre">CalculateScoreProfile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_residues</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomScorer.CalculateScoreProfile" title="Permalink to this definition">¶</a></dt>
 <dd><p>Calculates per residue scores for the desired loop(s) (extracted from
 environment) against the set environment.</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number(s) defining the position(s) in the SEQRES
-(see <a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a> for indexing)</li>
-<li><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of loop(s).</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the loop(s) belongs to
-(see <a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a> for indexing)</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number(s) defining the position(s) in the SEQRES
+(see <a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a> for indexing)</p></li>
+<li><p><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of loop(s).</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the loop(s) belongs to
+(see <a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomEnv" title="promod3.loop.AllAtomEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomEnv</span></code></a> for indexing)</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Scores for the given loop(s), one for each residue.</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>
-of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</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">same <code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> as <a class="reference internal" href="#promod3.scoring.AllAtomScorer.CalculateScore" title="promod3.scoring.AllAtomScorer.CalculateScore"><code class="xref py py-meth docutils literal notranslate"><span class="pre">CalculateScore()</span></code></a>.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Scores for the given loop(s), one for each residue.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>
+of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p>same <code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> as <a class="reference internal" href="#promod3.scoring.AllAtomScorer.CalculateScore" title="promod3.scoring.AllAtomScorer.CalculateScore"><code class="xref py py-meth docutils literal notranslate"><span class="pre">CalculateScore()</span></code></a>.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="allatominteractionscorer-class">
-<h2>AllAtomInteractionScorer class<a class="headerlink" href="#allatominteractionscorer-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.scoring.AllAtomInteractionScorer">
-<em class="property">class </em><code class="descclassname">promod3.scoring.</code><code class="descname">AllAtomInteractionScorer</code><span class="sig-paren">(</span><em>cutoff</em>, <em>bins</em>, <em>seq_sep</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomInteractionScorer" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="allatominteractionscorer-class">
+<h2>AllAtomInteractionScorer class<a class="headerlink" href="#allatominteractionscorer-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomInteractionScorer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">AllAtomInteractionScorer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cutoff</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bins</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seq_sep</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomInteractionScorer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Inherits all functionality of <a class="reference internal" href="#promod3.scoring.AllAtomScorer" title="promod3.scoring.AllAtomScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomScorer</span></code></a>. Evaluates a pairwise
 pseudo interaction energy between all atoms which are located within a
 <em>cutoff</em> and which are at least <em>seq_sep</em> residues apart. An energy is
@@ -273,345 +252,301 @@ in the input loops. You can change this behaviour with the according
 functions.</p>
 <p>The scorer needs to be initialized either by loading a predefined scorer (e.g.
 <a class="reference internal" href="#promod3.scoring.LoadAllAtomInteractionScorer" title="promod3.scoring.LoadAllAtomInteractionScorer"><code class="xref py py-func docutils literal notranslate"><span class="pre">LoadAllAtomInteractionScorer()</span></code></a>) or by setting all energies (see <a class="reference internal" href="#promod3.scoring.AllAtomInteractionScorer.SetEnergy" title="promod3.scoring.AllAtomInteractionScorer.SetEnergy"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetEnergy()</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 simple">
-<li><strong>cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Radius in which other atoms are counted.</li>
-<li><strong>bins</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of equally sized bins to discretize distances (range
-of [0,*cutoff*]).</li>
-<li><strong>seq_sep</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Minimal separation in sequence two residues must have to
-be considered.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Radius in which other atoms are counted.</p></li>
+<li><p><strong>bins</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of equally sized bins to discretize distances (range
+of [0,*cutoff*]).</p></li>
+<li><p><strong>seq_sep</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Minimal separation in sequence two residues must have to
+be considered.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>cutoff</em> &lt; 0, <em>bins</em> &lt; 1 or
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>cutoff</em> &lt; 0, <em>bins</em> &lt; 1 or
 <em>seq_sep</em> &lt; 1.</p>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="staticmethod">
-<dt id="promod3.scoring.AllAtomInteractionScorer.Load">
-<em class="property">static </em><code class="descname">Load</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomInteractionScorer.Load" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.scoring.AllAtomInteractionScorer.LoadPortable">
-<em class="property">static </em><code class="descname">LoadPortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomInteractionScorer.LoadPortable" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomInteractionScorer.Load">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomInteractionScorer.Load" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomInteractionScorer.LoadPortable">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LoadPortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomInteractionScorer.LoadPortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Loads raw binary file generated with <a class="reference internal" href="#promod3.scoring.AllAtomInteractionScorer.Save" title="promod3.scoring.AllAtomInteractionScorer.Save"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Save()</span></code></a> (optimized for fast
 reading) / portable file generated with <a class="reference internal" href="#promod3.scoring.AllAtomInteractionScorer.SavePortable" title="promod3.scoring.AllAtomInteractionScorer.SavePortable"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SavePortable()</span></code></a> (slower but
 less machine-dependent).</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The loaded scorer</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.scoring.AllAtomInteractionScorer" title="promod3.scoring.AllAtomInteractionScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomInteractionScorer</span></code></a></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
-file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The loaded scorer</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.scoring.AllAtomInteractionScorer" title="promod3.scoring.AllAtomInteractionScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomInteractionScorer</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
+file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.AllAtomInteractionScorer.Save">
-<code class="descname">Save</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomInteractionScorer.Save" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.scoring.AllAtomInteractionScorer.SavePortable">
-<code class="descname">SavePortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomInteractionScorer.SavePortable" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomInteractionScorer.Save">
+<span class="sig-name descname"><span class="pre">Save</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomInteractionScorer.Save" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomInteractionScorer.SavePortable">
+<span class="sig-name descname"><span class="pre">SavePortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomInteractionScorer.SavePortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Saves a raw / portable binary representation. Use portable files for
 distribution and convert locally to raw files. See <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a>
 for details.</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.AllAtomInteractionScorer.SetEnergy">
-<code class="descname">SetEnergy</code><span class="sig-paren">(</span><em>aaa1</em>, <em>aaa2</em>, <em>bin</em>, <em>energy</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomInteractionScorer.SetEnergy" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomInteractionScorer.SetEnergy">
+<span class="sig-name descname"><span class="pre">SetEnergy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aaa1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">aaa2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bin</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">energy</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomInteractionScorer.SetEnergy" title="Permalink to this definition">¶</a></dt>
 <dd><p>Setup one energy value. Unless a predefined scorer is loaded, this must be
 called for every pair of heavy atom types and for every <em>bin</em> &lt; <em>bins</em>.
 Internal symmetry is enforced =&gt; Calling SetEnergy(aaa1, aaa2, bin, energy) is
 equivalent to calling SetEnergy(aaa1, aaa2, bin, energy) AND
 SetEnergy(aaa2, aaa1, bin, energy).</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>aaa1</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AminoAcidAtom" title="promod3.loop.AminoAcidAtom"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidAtom</span></code></a>) – Heavy atom type for first interaction partner.</li>
-<li><strong>aaa2</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AminoAcidAtom" title="promod3.loop.AminoAcidAtom"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidAtom</span></code></a>) – Heavy atom type for second interaction partner.</li>
-<li><strong>bin</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the interaction distance.</li>
-<li><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Energy to set for those parameters.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>aaa1</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AminoAcidAtom" title="promod3.loop.AminoAcidAtom"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidAtom</span></code></a>) – Heavy atom type for first interaction partner.</p></li>
+<li><p><strong>aaa2</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AminoAcidAtom" title="promod3.loop.AminoAcidAtom"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidAtom</span></code></a>) – Heavy atom type for second interaction partner.</p></li>
+<li><p><strong>bin</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the interaction distance.</p></li>
+<li><p><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Energy to set for those parameters.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if inputs are invalid</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if inputs are invalid</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.AllAtomInteractionScorer.DoInternalScores">
-<code class="descname">DoInternalScores</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomInteractionScorer.DoInternalScores" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions within the
-loop. True by default.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomInteractionScorer.DoInternalScores">
+<span class="sig-name descname"><span class="pre">DoInternalScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomInteractionScorer.DoInternalScores" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions within the
+loop. True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.AllAtomInteractionScorer.DoExternalScores">
-<code class="descname">DoExternalScores</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomInteractionScorer.DoExternalScores" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions towards the
-environment. True by default.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomInteractionScorer.DoExternalScores">
+<span class="sig-name descname"><span class="pre">DoExternalScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomInteractionScorer.DoExternalScores" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions towards the
+environment. True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.AllAtomInteractionScorer.DoNormalize">
-<code class="descname">DoNormalize</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomInteractionScorer.DoNormalize" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
-of residues in the input loop. True by default.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomInteractionScorer.DoNormalize">
+<span class="sig-name descname"><span class="pre">DoNormalize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomInteractionScorer.DoNormalize" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
+of residues in the input loop. True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.scoring.LoadAllAtomInteractionScorer">
-<code class="descclassname">promod3.scoring.</code><code class="descname">LoadAllAtomInteractionScorer</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.LoadAllAtomInteractionScorer" 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 default predefined AllAtomInteractionScorer (loaded from disk)</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.scoring.AllAtomInteractionScorer" title="promod3.scoring.AllAtomInteractionScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomInteractionScorer</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.scoring.LoadAllAtomInteractionScorer">
+<span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">LoadAllAtomInteractionScorer</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.LoadAllAtomInteractionScorer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The default predefined AllAtomInteractionScorer (loaded from disk)</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.scoring.AllAtomInteractionScorer" title="promod3.scoring.AllAtomInteractionScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomInteractionScorer</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="allatompackingscorer-class">
-<h2>AllAtomPackingScorer class<a class="headerlink" href="#allatompackingscorer-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.scoring.AllAtomPackingScorer">
-<em class="property">class </em><code class="descclassname">promod3.scoring.</code><code class="descname">AllAtomPackingScorer</code><span class="sig-paren">(</span><em>cutoff</em>, <em>max_count</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomPackingScorer" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="allatompackingscorer-class">
+<h2>AllAtomPackingScorer class<a class="headerlink" href="#allatompackingscorer-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomPackingScorer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">AllAtomPackingScorer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cutoff</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_count</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomPackingScorer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Inherits all functionality of <a class="reference internal" href="#promod3.scoring.AllAtomScorer" title="promod3.scoring.AllAtomScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomScorer</span></code></a>. Evaluates pseudo
 energies by counting surrounding atoms within a certain <em>cutoff</em> radius around
 all heavy atoms not belonging to the assessed residue itself.</p>
 <p>The scorer needs to be initialized either by loading a predefined scorer (e.g.
 <a class="reference internal" href="#promod3.scoring.LoadAllAtomPackingScorer" title="promod3.scoring.LoadAllAtomPackingScorer"><code class="xref py py-func docutils literal notranslate"><span class="pre">LoadAllAtomPackingScorer()</span></code></a>) or by setting all energies (see
 <a class="reference internal" href="#promod3.scoring.AllAtomPackingScorer.SetEnergy" title="promod3.scoring.AllAtomPackingScorer.SetEnergy"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetEnergy()</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 simple">
-<li><strong>cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Radius in which other atoms are counted.</li>
-<li><strong>max_count</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If number of other atoms exceeds <em>max_count</em>, it will
-be set to this number.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Radius in which other atoms are counted.</p></li>
+<li><p><strong>max_count</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If number of other atoms exceeds <em>max_count</em>, it will
+be set to this number.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>cutoff</em> &lt; 0, <em>max_count</em> &lt; 1.</p>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="staticmethod">
-<dt id="promod3.scoring.AllAtomPackingScorer.Load">
-<em class="property">static </em><code class="descname">Load</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomPackingScorer.Load" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.scoring.AllAtomPackingScorer.LoadPortable">
-<em class="property">static </em><code class="descname">LoadPortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomPackingScorer.LoadPortable" title="Permalink to this definition">¶</a></dt>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>cutoff</em> &lt; 0, <em>max_count</em> &lt; 1.</p>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomPackingScorer.Load">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomPackingScorer.Load" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomPackingScorer.LoadPortable">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LoadPortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomPackingScorer.LoadPortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Loads raw binary file generated with <a class="reference internal" href="#promod3.scoring.AllAtomPackingScorer.Save" title="promod3.scoring.AllAtomPackingScorer.Save"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Save()</span></code></a> (optimized for fast
 reading) / portable file generated with <a class="reference internal" href="#promod3.scoring.AllAtomPackingScorer.SavePortable" title="promod3.scoring.AllAtomPackingScorer.SavePortable"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SavePortable()</span></code></a> (slower but
 less machine-dependent).</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The loaded scorer</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.scoring.AllAtomPackingScorer" title="promod3.scoring.AllAtomPackingScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPackingScorer</span></code></a></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
-file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The loaded scorer</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.scoring.AllAtomPackingScorer" title="promod3.scoring.AllAtomPackingScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPackingScorer</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
+file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.AllAtomPackingScorer.Save">
-<code class="descname">Save</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomPackingScorer.Save" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.scoring.AllAtomPackingScorer.SavePortable">
-<code class="descname">SavePortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomPackingScorer.SavePortable" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomPackingScorer.Save">
+<span class="sig-name descname"><span class="pre">Save</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomPackingScorer.Save" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomPackingScorer.SavePortable">
+<span class="sig-name descname"><span class="pre">SavePortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomPackingScorer.SavePortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Saves a raw / portable binary representation. Use portable files for
 distribution and convert locally to raw files. See <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a>
 for details.</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.AllAtomPackingScorer.SetEnergy">
-<code class="descname">SetEnergy</code><span class="sig-paren">(</span><em>aaa</em>, <em>count</em>, <em>energy</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomPackingScorer.SetEnergy" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomPackingScorer.SetEnergy">
+<span class="sig-name descname"><span class="pre">SetEnergy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aaa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">count</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">energy</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomPackingScorer.SetEnergy" title="Permalink to this definition">¶</a></dt>
 <dd><p>Setup one energy value. Unless a predefined scorer is loaded, this must be
 called for every heavy atom type and for every <em>count</em> &lt;= <em>max_count</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>aaa</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AminoAcidAtom" title="promod3.loop.AminoAcidAtom"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidAtom</span></code></a>) – Heavy atom type for which to set energy.</li>
-<li><strong>count</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of surrounding atoms for which to set energy.</li>
-<li><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Energy to set for those parameters.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>aaa</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AminoAcidAtom" title="promod3.loop.AminoAcidAtom"><code class="xref py py-class docutils literal notranslate"><span class="pre">AminoAcidAtom</span></code></a>) – Heavy atom type for which to set energy.</p></li>
+<li><p><strong>count</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of surrounding atoms for which to set energy.</p></li>
+<li><p><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Energy to set for those parameters.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if inputs are invalid</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if inputs are invalid</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.AllAtomPackingScorer.DoNormalize">
-<code class="descname">DoNormalize</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomPackingScorer.DoNormalize" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
-of residues in the input loop. True by default.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomPackingScorer.DoNormalize">
+<span class="sig-name descname"><span class="pre">DoNormalize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomPackingScorer.DoNormalize" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
+of residues in the input loop. True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.scoring.LoadAllAtomPackingScorer">
-<code class="descclassname">promod3.scoring.</code><code class="descname">LoadAllAtomPackingScorer</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.LoadAllAtomPackingScorer" 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 default predefined AllAtomPackingScorer (loaded from disk)</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.scoring.AllAtomPackingScorer" title="promod3.scoring.AllAtomPackingScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPackingScorer</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.scoring.LoadAllAtomPackingScorer">
+<span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">LoadAllAtomPackingScorer</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.LoadAllAtomPackingScorer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The default predefined AllAtomPackingScorer (loaded from disk)</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.scoring.AllAtomPackingScorer" title="promod3.scoring.AllAtomPackingScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPackingScorer</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="allatomclashscorer-class">
-<h2>AllAtomClashScorer class<a class="headerlink" href="#allatomclashscorer-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.scoring.AllAtomClashScorer">
-<em class="property">class </em><code class="descclassname">promod3.scoring.</code><code class="descname">AllAtomClashScorer</code><a class="headerlink" href="#promod3.scoring.AllAtomClashScorer" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="allatomclashscorer-class">
+<h2>AllAtomClashScorer class<a class="headerlink" href="#allatomclashscorer-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomClashScorer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">AllAtomClashScorer</span></span><a class="headerlink" href="#promod3.scoring.AllAtomClashScorer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Inherits all functionality of <a class="reference internal" href="#promod3.scoring.AllAtomScorer" title="promod3.scoring.AllAtomScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomScorer</span></code></a>. Calculates a simple
 clash score of all atoms against the environment. There is no need to define
 any parameters here as all interaction energies are fixed (see Eq. (11) in
-<a class="reference internal" href="../references.html#canutescu2003b" id="id1">[canutescu2003b]</a>). By default, the scorer calculates the scores by
+<a class="reference internal" href="../references.html#canutescu2003b" id="id1"><span>[canutescu2003b]</span></a>). By default, the scorer calculates the scores by
 including everything, the stuff set in the environment and the coordinates
 in the input loops. You can change this behaviour with the according
 functions.</p>
-<dl class="method">
-<dt id="promod3.scoring.AllAtomClashScorer.DoInternalScores">
-<code class="descname">DoInternalScores</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomClashScorer.DoInternalScores" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions within the
-loop. True by default.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomClashScorer.DoInternalScores">
+<span class="sig-name descname"><span class="pre">DoInternalScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomClashScorer.DoInternalScores" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions within the
+loop. True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.AllAtomClashScorer.DoExternalScores">
-<code class="descname">DoExternalScores</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomClashScorer.DoExternalScores" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions towards the
-environment. True by default.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomClashScorer.DoExternalScores">
+<span class="sig-name descname"><span class="pre">DoExternalScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomClashScorer.DoExternalScores" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions towards the
+environment. True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.AllAtomClashScorer.DoNormalize">
-<code class="descname">DoNormalize</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomClashScorer.DoNormalize" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
-of residues in the input loop. True by default.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.AllAtomClashScorer.DoNormalize">
+<span class="sig-name descname"><span class="pre">DoNormalize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.AllAtomClashScorer.DoNormalize" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
+of residues in the input loop. True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -632,12 +567,12 @@ of residues in the input loop. True by default.</td>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -654,7 +589,7 @@ of residues in the input loop. True by default.</td>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a><ul>
       <li>Previous: <a href="backbone_scorers.html" title="previous chapter">Backbone Scorers</a></li>
       <li>Next: <a href="other_scoring_functions.html" title="next chapter">Other Scoring Functions</a></li>
   </ul></li>
@@ -663,27 +598,33 @@ of residues in the input loop. True by default.</td>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/scoring/all_atom_scorers.rst.txt"
diff --git a/doc/html/scoring/backbone_score_env.html b/doc/html/scoring/backbone_score_env.html
index aaceae9f48df6c85dab28e76395c6fbf32a44335..624cd3d9e36b9bbb7f6574b257014073382bcae6 100644
--- a/doc/html/scoring/backbone_score_env.html
+++ b/doc/html/scoring/backbone_score_env.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Backbone Score Environment &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Backbone Score Environment &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Backbone Scorers" href="backbone_scorers.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,15 +31,17 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="backbone-score-environment">
-<h1>Backbone Score Environment<a class="headerlink" href="#backbone-score-environment" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="backbonescoreenv-class">
-<h2>BackboneScoreEnv class<a class="headerlink" href="#backbonescoreenv-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.scoring.BackboneScoreEnv">
-<em class="property">class </em><code class="descclassname">promod3.scoring.</code><code class="descname">BackboneScoreEnv</code><span class="sig-paren">(</span><em>seqres</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv" title="Permalink to this definition">¶</a></dt>
+  <section id="backbone-score-environment">
+<h1>Backbone Score Environment<a class="headerlink" href="#backbone-score-environment" title="Permalink to this heading">¶</a></h1>
+<section id="backbonescoreenv-class">
+<h2>BackboneScoreEnv class<a class="headerlink" href="#backbonescoreenv-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneScoreEnv">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">BackboneScoreEnv</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">seqres</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv" title="Permalink to this definition">¶</a></dt>
 <dd><p>The backbone score environment contains and handles all model-specific data
 used by the scorers. It is linked to a (list of) seqres (one per chain) at
 construction. The idea is to initialize it at the beginning of the modelling
@@ -47,366 +50,320 @@ prediction, etc). All scorers attached to that environment will see that data
 and can calculate scores accordingly.
 Scoring with this setup is a two step process:</p>
 <ul class="simple">
-<li>Set the positions you want to score in the environment to make it available
-to all attached scorers</li>
-<li>Call the scorers to get the desired scores</li>
+<li><p>Set the positions you want to score in the environment to make it available
+to all attached scorers</p></li>
+<li><p>Call the scorers to get the desired scores</p></li>
 </ul>
 <p>One problem that might occur is that you mess around with the environment and
 at some point you want to restore the original state. The
 <a class="reference internal" href="#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> provides a Stash / Pop mechanism to perform this
 task.</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>seqres</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceHandle</span></code></a> /
-<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.SequenceList" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceList</span></code></a>) – Internal SEQRES to be set (single chain or list with one per
-chain). Whenever setting structural data, consistency with this SEQRES is enforced.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>seqres</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> / <a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceHandle</span></code></a> /
+<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> / <a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.SequenceList" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceList</span></code></a>) – Internal SEQRES to be set (single chain or list with one per
+chain). Whenever setting structural data, consistency with this SEQRES is enforced.</p>
+</dd>
+</dl>
 <p>To access parts of the environment there are two key arguments to consider:</p>
 <ul class="simple">
-<li><em>chain_idx</em>: Index of chain as it occurs in <em>seqres</em> (0 for single sequence)</li>
-<li><em>start_resnum</em>: Residue number defining the position in the SEQRES of chain
+<li><p><em>chain_idx</em>: Index of chain as it occurs in <em>seqres</em> (0 for single sequence)</p></li>
+<li><p><em>start_resnum</em>: Residue number defining the position in the SEQRES of chain
 with index <em>chain_idx</em>. <strong>The numbering starts for every chain with the
-value 1</strong>.</li>
+value 1</strong>.</p></li>
 </ul>
-<dl class="method">
-<dt id="promod3.scoring.BackboneScoreEnv.Copy">
-<code class="descname">Copy</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv.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">A copy of the current <a class="reference internal" href="#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> without any scorers
-attached</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneScoreEnv.Copy">
+<span class="sig-name descname"><span class="pre">Copy</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv.Copy" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>A copy of the current <a class="reference internal" href="#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> without any scorers
+attached</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.BackboneScoreEnv.SetInitialEnvironment">
-<code class="descname">SetInitialEnvironment</code><span class="sig-paren">(</span><em>env_structure</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv.SetInitialEnvironment" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneScoreEnv.SetInitialEnvironment">
+<span class="sig-name descname"><span class="pre">SetInitialEnvironment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">env_structure</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv.SetInitialEnvironment" title="Permalink to this definition">¶</a></dt>
 <dd><p>Sets structural environment with which loops to be scored interact. If
 structural data was already set, all the existing data gets cleared first.</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>env_structure</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityHandle</span></code></a>) – Structral data to be set as environment. The chains
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>env_structure</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.EntityHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.EntityHandle</span></code></a>) – Structral data to be set as environment. The chains
 in <em>env_structure</em> are expected to be in the same
-order as the SEQRES items provided in constructor.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>env</em> is inconsistent with
+order as the SEQRES items provided in constructor.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>env</em> is inconsistent with
 SEQRES set in constructor. This can be because of corrupt residue
-numbers or sequence mismatches.</td>
-</tr>
-</tbody>
-</table>
+numbers or sequence mismatches.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.BackboneScoreEnv.SetEnvironment">
-<code class="descname">SetEnvironment</code><span class="sig-paren">(</span><em>bb_list</em>, <em>start_resnum</em>, <em>chain_idx=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv.SetEnvironment" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneScoreEnv.SetEnvironment">
+<span class="sig-name descname"><span class="pre">SetEnvironment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bb_list</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv.SetEnvironment" title="Permalink to this definition">¶</a></dt>
 <dd><p>Add/update structural information in environment. If structural data for
 specific residues is already set, the data gets resetted for these
 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"><ul class="first simple">
-<li><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Structural data to be set as environment.</li>
-<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResNum" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResNum</span></code></a>) – Res. number defining the position in the SEQRES.</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the structural data belongs to.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>bb_list</strong> (<a class="reference internal" href="../loop/backbone.html#promod3.loop.BackboneList" title="promod3.loop.BackboneList"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneList</span></code></a>) – Structural data to be set as environment.</p></li>
+<li><p><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResNum" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResNum</span></code></a>) – Res. number defining the position in the SEQRES.</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the structural data belongs to.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if sequence of <em>bb_list</em> is
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if sequence of <em>bb_list</em> is
 inconsistent with previously SEQRES set in constructor or when
 either <em>start_resnum</em> or <em>chain_idx</em> point to invalid positions in
 the SEQRES.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.BackboneScoreEnv.ClearEnvironment">
-<code class="descname">ClearEnvironment</code><span class="sig-paren">(</span><em>start_resnum</em>, <em>num_residues</em>, <em>chain_idx=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv.ClearEnvironment" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneScoreEnv.ClearEnvironment">
+<span class="sig-name descname"><span class="pre">ClearEnvironment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_residues</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv.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_idx</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of stretch to clear</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Chain the stretch belongs to</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Start of stretch to clear</p></li>
+<li><p><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Length of stretch to clear</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Chain the stretch belongs to</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> when either <em>start_resnum</em> or
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> when either <em>start_resnum</em> or
 <em>chain_idx</em> point to invalid positions in the SEQRES.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.BackboneScoreEnv.SetPsipredPrediction">
-<code class="descname">SetPsipredPrediction</code><span class="sig-paren">(</span><em>pred</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv.SetPsipredPrediction" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneScoreEnv.SetPsipredPrediction">
+<span class="sig-name descname"><span class="pre">SetPsipredPrediction</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pred</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv.SetPsipredPrediction" title="Permalink to this definition">¶</a></dt>
 <dd><p>Set the psipred prediction, which is necessary to calculate some 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">Parameters:</th><td class="field-body"><strong>pred</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">PsipredPrediction</span></code> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of
-<code class="xref py py-class docutils literal notranslate"><span class="pre">PsipredPrediction</span></code>) – Psipred prediction to set (one per chain).</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if the number of predictions is
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>pred</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">PsipredPrediction</span></code> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of
+<code class="xref py py-class docutils literal notranslate"><span class="pre">PsipredPrediction</span></code>) – Psipred prediction to set (one per chain).</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if the number of predictions is
 inconsistent with the number of internal chains or when one of the
-predictions’ sizes is inconsistent with the internal SEQRES size.</td>
-</tr>
-</tbody>
-</table>
+predictions’ sizes is inconsistent with the internal SEQRES size.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.BackboneScoreEnv.AddPairwiseFunction">
-<code class="descname">AddPairwiseFunction</code><span class="sig-paren">(</span><em>function</em>, <em>function_type</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv.AddPairwiseFunction" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneScoreEnv.AddPairwiseFunction">
+<span class="sig-name descname"><span class="pre">AddPairwiseFunction</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">function</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">function_type</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv.AddPairwiseFunction" title="Permalink to this definition">¶</a></dt>
 <dd><p>Adds a pairwise function that can be used in <a class="reference internal" href="#promod3.scoring.BackboneScoreEnv.ApplyPairwiseFunction" title="promod3.scoring.BackboneScoreEnv.ApplyPairwiseFunction"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ApplyPairwiseFunction()</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 simple">
-<li><strong>function</strong> (<a class="reference internal" href="#promod3.scoring.PairwiseFunction" title="promod3.scoring.PairwiseFunction"><code class="xref py py-class docutils literal notranslate"><span class="pre">PairwiseFunction</span></code></a>) – Pairwise function to be added.</li>
-<li><strong>function_type</strong> (<a class="reference internal" href="#promod3.scoring.PairwiseFunctionType" title="promod3.scoring.PairwiseFunctionType"><code class="xref py py-class docutils literal notranslate"><span class="pre">PairwiseFunctionType</span></code></a>) – What distances should be looked at for this function.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>function</strong> (<a class="reference internal" href="#promod3.scoring.PairwiseFunction" title="promod3.scoring.PairwiseFunction"><code class="xref py py-class docutils literal notranslate"><span class="pre">PairwiseFunction</span></code></a>) – Pairwise function to be added.</p></li>
+<li><p><strong>function_type</strong> (<a class="reference internal" href="#promod3.scoring.PairwiseFunctionType" title="promod3.scoring.PairwiseFunctionType"><code class="xref py py-class docutils literal notranslate"><span class="pre">PairwiseFunctionType</span></code></a>) – What distances should be looked at for this function.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Function index to be used in <a class="reference internal" href="#promod3.scoring.BackboneScoreEnv.ApplyPairwiseFunction" title="promod3.scoring.BackboneScoreEnv.ApplyPairwiseFunction"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ApplyPairwiseFunction()</span></code></a>.</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="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Function index to be used in <a class="reference internal" href="#promod3.scoring.BackboneScoreEnv.ApplyPairwiseFunction" title="promod3.scoring.BackboneScoreEnv.ApplyPairwiseFunction"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ApplyPairwiseFunction()</span></code></a>.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.BackboneScoreEnv.ApplyPairwiseFunction">
-<code class="descname">ApplyPairwiseFunction</code><span class="sig-paren">(</span><em>chain_idx_one</em>, <em>resnum_one</em>, <em>chain_idx_two</em>, <em>resnum_two</em>, <em>f_idx</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv.ApplyPairwiseFunction" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneScoreEnv.ApplyPairwiseFunction">
+<span class="sig-name descname"><span class="pre">ApplyPairwiseFunction</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">chain_idx_one</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resnum_one</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx_two</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resnum_two</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">f_idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv.ApplyPairwiseFunction" title="Permalink to this definition">¶</a></dt>
 <dd><p>Define two residues to be evaluated with a given pairwise function. This
 data can then be used by scorers. Note that the pairs are symmetric and so
 there is no need to add them twice with switched 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 simple">
-<li><strong>chain_idx_one</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Chain index of first residue</li>
-<li><strong>resnum_one</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number of first residue</li>
-<li><strong>chain_idx_two</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Chain index of second residue</li>
-<li><strong>resnum_two</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number of second residue</li>
-<li><strong>f_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of pairwise function (as returned by
-<a class="reference internal" href="#promod3.scoring.BackboneScoreEnv.AddPairwiseFunction" title="promod3.scoring.BackboneScoreEnv.AddPairwiseFunction"><code class="xref py py-meth docutils literal notranslate"><span class="pre">AddPairwiseFunction()</span></code></a>)</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>chain_idx_one</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Chain index of first residue</p></li>
+<li><p><strong>resnum_one</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number of first residue</p></li>
+<li><p><strong>chain_idx_two</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Chain index of second residue</p></li>
+<li><p><strong>resnum_two</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number of second residue</p></li>
+<li><p><strong>f_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of pairwise function (as returned by
+<a class="reference internal" href="#promod3.scoring.BackboneScoreEnv.AddPairwiseFunction" title="promod3.scoring.BackboneScoreEnv.AddPairwiseFunction"><code class="xref py py-meth docutils literal notranslate"><span class="pre">AddPairwiseFunction()</span></code></a>)</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if any of the chain indices or
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if any of the chain indices or
 res. numbers is invalid, the interaction partners are the same
 residue or when <em>f_idx</em> is an invalid index.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.BackboneScoreEnv.Stash">
-<code class="descname">Stash</code><span class="sig-paren">(</span><em>start_rnum</em>, <em>num_residues</em>, <em>chain_idx</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv.Stash" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneScoreEnv.Stash">
+<span class="sig-name descname"><span class="pre">Stash</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">start_rnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_residues</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv.Stash" title="Permalink to this definition">¶</a></dt>
 <dd><p>FILO style stashing. You can perform up to 100 stash operations to save
 the current state of certain stretches in the environment. This state can
 be restored by calling <a class="reference internal" href="#promod3.scoring.BackboneScoreEnv.Pop" title="promod3.scoring.BackboneScoreEnv.Pop"><code class="xref py py-func docutils literal notranslate"><span class="pre">Pop()</span></code></a>. In one stash operation you can either
 stash one stretch by providing integers as input or several stretches by
 providing lists of integers.</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_rnum</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – start rnum of stretch to stash</li>
-<li><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – length of stretch to stash</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – chain idx of stretch to stash</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>start_rnum</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – start rnum of stretch to stash</p></li>
+<li><p><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – length of stretch to stash</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – chain idx of stretch to stash</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.BackboneScoreEnv.Pop">
-<code class="descname">Pop</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv.Pop" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneScoreEnv.Pop">
+<span class="sig-name descname"><span class="pre">Pop</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv.Pop" title="Permalink to this definition">¶</a></dt>
 <dd><p>Remove and apply the the last stash operation.</p>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.BackboneScoreEnv.GetSeqres">
-<code class="descname">GetSeqres</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv.GetSeqres" 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">SEQRES that was set in constructor (one sequence per chain).</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.SequenceList" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceList</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneScoreEnv.GetSeqres">
+<span class="sig-name descname"><span class="pre">GetSeqres</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScoreEnv.GetSeqres" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>SEQRES that was set in constructor (one sequence per chain).</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.SequenceList" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceList</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="pairwise-function-classes">
-<h2>Pairwise function classes<a class="headerlink" href="#pairwise-function-classes" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.scoring.PairwiseFunctionType">
-<em class="property">class </em><code class="descclassname">promod3.scoring.</code><code class="descname">PairwiseFunctionType</code><a class="headerlink" href="#promod3.scoring.PairwiseFunctionType" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="pairwise-function-classes">
+<h2>Pairwise function classes<a class="headerlink" href="#pairwise-function-classes" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.scoring.PairwiseFunctionType">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">PairwiseFunctionType</span></span><a class="headerlink" href="#promod3.scoring.PairwiseFunctionType" title="Permalink to this definition">¶</a></dt>
 <dd><p>Enumerates the pairwise function types. Possible values:</p>
 <ul class="simple">
-<li><em>CA_PAIRWISE_FUNCTION</em> - Evaluate CA atoms distances.</li>
-<li><em>CB_PAIRWISE_FUNCTION</em> - Evaluate CB atoms distances.</li>
+<li><p><em>CA_PAIRWISE_FUNCTION</em> - Evaluate CA atoms distances.</p></li>
+<li><p><em>CB_PAIRWISE_FUNCTION</em> - Evaluate CB atoms distances.</p></li>
 </ul>
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.scoring.PairwiseFunction">
-<em class="property">class </em><code class="descclassname">promod3.scoring.</code><code class="descname">PairwiseFunction</code><a class="headerlink" href="#promod3.scoring.PairwiseFunction" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.scoring.PairwiseFunction">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">PairwiseFunction</span></span><a class="headerlink" href="#promod3.scoring.PairwiseFunction" title="Permalink to this definition">¶</a></dt>
 <dd><p>Base class for any pairwise function.</p>
-<dl class="method">
-<dt id="promod3.scoring.PairwiseFunction.Score">
-<code class="descname">Score</code><span class="sig-paren">(</span><em>distance</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.PairwiseFunction.Score" 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">Score for a given pairwise distance</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-<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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Pairwise distance</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.PairwiseFunction.Score">
+<span class="sig-name descname"><span class="pre">Score</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">distance</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.PairwiseFunction.Score" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Score for a given pairwise distance</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>distance</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Pairwise distance</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.scoring.ConstraintFunction">
-<em class="property">class </em><code class="descclassname">promod3.scoring.</code><code class="descname">ConstraintFunction</code><span class="sig-paren">(</span><em>min_dist</em>, <em>max_dist</em>, <em>values</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ConstraintFunction" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.scoring.ConstraintFunction">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">ConstraintFunction</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">min_dist</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_dist</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">values</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ConstraintFunction" title="Permalink to this definition">¶</a></dt>
 <dd><p>Inherits all functionality of <a class="reference internal" href="#promod3.scoring.PairwiseFunction" title="promod3.scoring.PairwiseFunction"><code class="xref py py-class docutils literal notranslate"><span class="pre">PairwiseFunction</span></code></a>.
 Defines a constraint function. The score for a distance between <em>min_dist</em> and
 <em>max_dist</em> is determined by linear interpolation assuming the first and last
 value exactly lying on <em>min_dist</em> and <em>max_dist</em>. For distances outside the
 range defined by <em>min_dist</em> and <em>max_dist</em>, the returned score is 0.0.</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>min_dist</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Minimal distance to be considered</li>
-<li><strong>max_dist</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal distance to be considered</li>
-<li><strong>values</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The possible values that get returned when the distance is
-between <em>min_dist</em> and <em>max_dist</em></li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>min_dist</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Minimal distance to be considered</p></li>
+<li><p><strong>max_dist</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal distance to be considered</p></li>
+<li><p><strong>values</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The possible values that get returned when the distance is
+between <em>min_dist</em> and <em>max_dist</em></p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>min_dist</em> &gt;= <em>max_dist</em> or when
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>min_dist</em> &gt;= <em>max_dist</em> or when
 <em>min_dist</em> or <em>max_dist</em> are negative or when <em>values</em> contains no
 elements</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.scoring.ContactFunction">
-<em class="property">class </em><code class="descclassname">promod3.scoring.</code><code class="descname">ContactFunction</code><span class="sig-paren">(</span><em>max_dist</em>, <em>score</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ContactFunction" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.scoring.ContactFunction">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">ContactFunction</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">max_dist</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">score</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ContactFunction" title="Permalink to this definition">¶</a></dt>
 <dd><p>Inherits all functionality of <a class="reference internal" href="#promod3.scoring.PairwiseFunction" title="promod3.scoring.PairwiseFunction"><code class="xref py py-class docutils literal notranslate"><span class="pre">PairwiseFunction</span></code></a>.
 Defines a simple contact function. The score value is <em>score</em> if
 distance &lt; <em>max_dist</em> and 0.0 otherwise.</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_dist</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal distance to be in contact</li>
-<li><strong>score</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Value that gets returned if in contact</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>max_dist</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal distance to be in contact</p></li>
+<li><p><strong>score</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Value that gets returned if in contact</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="convenient-construction-of-pairwise-functions">
-<h2>Convenient construction of pairwise functions<a class="headerlink" href="#convenient-construction-of-pairwise-functions" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.scoring.DiscoContainer">
-<em class="property">class </em><code class="descclassname">promod3.scoring.</code><code class="descname">DiscoContainer</code><span class="sig-paren">(</span><em>seqres</em><span class="optional">[</span>, <em>function_type = CA_PAIRWISE_FUNCTION</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.DiscoContainer" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="convenient-construction-of-pairwise-functions">
+<h2>Convenient construction of pairwise functions<a class="headerlink" href="#convenient-construction-of-pairwise-functions" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.scoring.DiscoContainer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">DiscoContainer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">seqres</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">function_type</span> <span class="pre">=</span> <span class="pre">CA_PAIRWISE_FUNCTION</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.DiscoContainer" title="Permalink to this definition">¶</a></dt>
 <dd><p>A container collecting structural information until it can be added in form
 of <a class="reference internal" href="#promod3.scoring.ConstraintFunction" title="promod3.scoring.ConstraintFunction"><code class="xref py py-class docutils literal notranslate"><span class="pre">ConstraintFunction</span></code></a> to a <a class="reference internal" href="#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> .
 The constraint functions are built after the principle of QMEANDisCo.</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>seqres</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceHandle</span></code></a>) – The sequence with which all added structures must match</li>
-<li><strong>function_type</strong> (<a class="reference internal" href="#promod3.scoring.PairwiseFunctionType" title="promod3.scoring.PairwiseFunctionType"><code class="xref py py-class docutils literal notranslate"><span class="pre">PairwiseFunctionType</span></code></a>) – Whether you want to assess pairwise distances between CA
-or CB atoms</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>seqres</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.SequenceHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.SequenceHandle</span></code></a>) – The sequence with which all added structures must match</p></li>
+<li><p><strong>function_type</strong> (<a class="reference internal" href="#promod3.scoring.PairwiseFunctionType" title="promod3.scoring.PairwiseFunctionType"><code class="xref py py-class docutils literal notranslate"><span class="pre">PairwiseFunctionType</span></code></a>) – Whether you want to assess pairwise distances between CA
+or CB atoms</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="function">
-<dt id="promod3.scoring.DiscoContainer.AddStructuralInfo">
-<code class="descname">AddStructuralInfo</code><span class="sig-paren">(</span><em>aln</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.DiscoContainer.AddStructuralInfo" 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>aln</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.AlignmentHandle</span></code></a>) – Alignment, where first sequence represent the initial
+</dd>
+</dl>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.scoring.DiscoContainer.AddStructuralInfo">
+<span class="sig-name descname"><span class="pre">AddStructuralInfo</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aln</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.DiscoContainer.AddStructuralInfo" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>aln</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/seq/base/seq/#ost.seq.AlignmentHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.seq.AlignmentHandle</span></code></a>) – Alignment, where first sequence represent the initial
 SEQRES and the second sequence the actual structural
-info. The second sequence must have a view attached.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if number of sequences in <em>aln</em> is
+info. The second sequence must have a view attached.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if number of sequences in <em>aln</em> is
 not two, the SEQRES does not match or when the second sequence in
-<em>aln</em> has no view attached.</td>
-</tr>
-</tbody>
-</table>
+<em>aln</em> has no view attached.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.scoring.DiscoContainer.AttachConstraints">
-<code class="descname">AttachConstraints</code><span class="sig-paren">(</span><em>env</em>, <em>chain_indices</em><span class="optional">[</span>, <em>cluster_thresh = 0.5</em>, <em>gamma = 70.0</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.DiscoContainer.AttachConstraints" title="Permalink to this definition">¶</a></dt>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.scoring.DiscoContainer.AttachConstraints">
+<span class="sig-name descname"><span class="pre">AttachConstraints</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">env</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_indices</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">cluster_thresh</span> <span class="pre">=</span> <span class="pre">0.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gamma</span> <span class="pre">=</span> <span class="pre">70.0</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.DiscoContainer.AttachConstraints" title="Permalink to this definition">¶</a></dt>
 <dd><p>Generates distance constraints and adds it to <em>env</em>.
 It first clusters the added sequences with a pairwise normalised sequence
 similarity based on BLOSUM62. It’s a hierarchical clustering with with an
@@ -418,38 +375,35 @@ target SEQRES. How fast this influence vanishes gets controlled by gamma.
 The higher it is, the faster vanishes the influence of structural info
 from distant clusters. The final pairwise cluster functions get then
 directly added to the scoring <em>env</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>env</strong> (<a class="reference internal" href="#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a>) – The scoring env to which the constraint
-should be added</li>
-<li><strong>chain_indices</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Indices of chains for which the constraints should
-be added</li>
-<li><strong>cluster_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Controls the clustering behaviour at the initial
-stage of constraint construction</li>
-<li><strong>gamma</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Controls how fast the influence of constraint
-functions of distant clusters vanishes</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>env</strong> (<a class="reference internal" href="#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a>) – The scoring env to which the constraint
+should be added</p></li>
+<li><p><strong>chain_indices</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Indices of chains for which the constraints should
+be added</p></li>
+<li><p><strong>cluster_thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Controls the clustering behaviour at the initial
+stage of constraint construction</p></li>
+<li><p><strong>gamma</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Controls how fast the influence of constraint
+functions of distant clusters vanishes</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if one of the <em>chain_indices</em> is
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if one of the <em>chain_indices</em> is
 invalid or the SEQRES set in <em>env</em> for specified chain is
 inconsistent with SEQRES you initialized the DiscoContainer with</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -470,12 +424,12 @@ inconsistent with SEQRES you initialized the DiscoContainer with</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -492,8 +446,8 @@ inconsistent with SEQRES you initialized the DiscoContainer with</p>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a><ul>
-      <li>Previous: <a href="index.html" title="previous chapter"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a><ul>
+      <li>Previous: <a href="index.html" title="previous chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
       <li>Next: <a href="backbone_scorers.html" title="next chapter">Backbone Scorers</a></li>
   </ul></li>
   </ul></li>
@@ -501,27 +455,33 @@ inconsistent with SEQRES you initialized the DiscoContainer with</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/scoring/backbone_score_env.rst.txt"
diff --git a/doc/html/scoring/backbone_scorers.html b/doc/html/scoring/backbone_scorers.html
index 4cfd63fa5509f898946b2503bf70f9e2d8a4a079..918082f2026334d5399a73b797873b3454e1b957 100644
--- a/doc/html/scoring/backbone_scorers.html
+++ b/doc/html/scoring/backbone_scorers.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Backbone Scorers &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Backbone Scorers &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="All Atom Scorers" href="all_atom_scorers.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,397 +31,356 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="backbone-scorers">
-<h1>Backbone Scorers<a class="headerlink" href="#backbone-scorers" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="backboneoverallscorer-class">
-<h2>BackboneOverallScorer class<a class="headerlink" href="#backboneoverallscorer-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.scoring.BackboneOverallScorer">
-<em class="property">class </em><code class="descclassname">promod3.scoring.</code><code class="descname">BackboneOverallScorer</code><a class="headerlink" href="#promod3.scoring.BackboneOverallScorer" title="Permalink to this definition">¶</a></dt>
+  <section id="backbone-scorers">
+<h1>Backbone Scorers<a class="headerlink" href="#backbone-scorers" title="Permalink to this heading">¶</a></h1>
+<section id="backboneoverallscorer-class">
+<h2>BackboneOverallScorer class<a class="headerlink" href="#backboneoverallscorer-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneOverallScorer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">BackboneOverallScorer</span></span><a class="headerlink" href="#promod3.scoring.BackboneOverallScorer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Container that allows for the storage of multiple scorers identified by a key
-(<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) and the computation of combined scores.</p>
+(<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) and the computation of combined scores.</p>
 <p>Scorers need to be individually set or loaded by
 <a class="reference internal" href="#promod3.scoring.LoadDefaultBackboneOverallScorer" title="promod3.scoring.LoadDefaultBackboneOverallScorer"><code class="xref py py-func docutils literal notranslate"><span class="pre">LoadDefaultBackboneOverallScorer()</span></code></a></p>
-<dl class="method">
-<dt id="promod3.scoring.BackboneOverallScorer.Contains">
-<code class="descname">Contains</code><span class="sig-paren">(</span><em>key</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneOverallScorer.Contains" 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, if a scorer object for this key was already added.</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/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>key</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Key for desired scorer.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneOverallScorer.Contains">
+<span class="sig-name descname"><span class="pre">Contains</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneOverallScorer.Contains" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>True, if a scorer object for this key was already added.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>key</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Key for desired scorer.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.BackboneOverallScorer.Get">
-<code class="descname">Get</code><span class="sig-paren">(</span><em>key</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneOverallScorer.Get" 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">Scorer with the given <em>key</em> (read-only access).</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.scoring.BackboneScorer" title="promod3.scoring.BackboneScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScorer</span></code></a></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>key</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Key for desired scorer.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if there is no scorer with that
-<em>key</em>.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneOverallScorer.Get">
+<span class="sig-name descname"><span class="pre">Get</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneOverallScorer.Get" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Scorer with the given <em>key</em> (read-only access).</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.scoring.BackboneScorer" title="promod3.scoring.BackboneScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScorer</span></code></a></p>
+</dd>
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>key</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Key for desired scorer.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if there is no scorer with that
+<em>key</em>.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.BackboneOverallScorer.AttachEnvironment">
-<code class="descname">AttachEnvironment</code><span class="sig-paren">(</span><em>env</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneOverallScorer.AttachEnvironment" 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>env</strong> (<a class="reference internal" href="backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a>) – Link all scorers to this score environment.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneOverallScorer.AttachEnvironment">
+<span class="sig-name descname"><span class="pre">AttachEnvironment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">env</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneOverallScorer.AttachEnvironment" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>env</strong> (<a class="reference internal" href="backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a>) – Link all scorers to this score environment.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.BackboneOverallScorer.Calculate">
-<code class="descname">Calculate</code><span class="sig-paren">(</span><em>key</em>, <em>start_resnum</em>, <em>num_residues</em>, <em>chain_idx=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneOverallScorer.Calculate" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneOverallScorer.Calculate">
+<span class="sig-name descname"><span class="pre">Calculate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_residues</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneOverallScorer.Calculate" title="Permalink to this definition">¶</a></dt>
 <dd><p>Calculate score for one or several stretches of amino acids given the
 current scoring environment.</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>key</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Key for desired scorer.</li>
-<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number defining the position in the SEQRES
-(see <a class="reference internal" href="backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> for indexing)</li>
-<li><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of residues in the stretch(es) to score</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the stretch(es) belongs to
-(see <a class="reference internal" href="backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> for indexing)</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>key</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Key for desired scorer.</p></li>
+<li><p><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number defining the position in the SEQRES
+(see <a class="reference internal" href="backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> for indexing)</p></li>
+<li><p><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of residues in the stretch(es) to score</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the stretch(es) belongs to
+(see <a class="reference internal" href="backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> for indexing)</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Score calculated with the desired scorer for the given stretch(es).</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</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"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if there is no scorer with that
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Score calculated with the desired scorer for the given stretch(es).</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if there is no scorer with that
 <em>key</em> or anything raised in <a class="reference internal" href="#promod3.scoring.BackboneScorer.CalculateScore" title="promod3.scoring.BackboneScorer.CalculateScore"><code class="xref py py-meth docutils literal notranslate"><span class="pre">BackboneScorer.CalculateScore()</span></code></a>.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.BackboneOverallScorer.CalculateLinearCombination">
-<code class="descname">CalculateLinearCombination</code><span class="sig-paren">(</span><em>linear_weights</em>, <em>start_resnum</em>, <em>num_residues</em>, <em>chain_idx=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneOverallScorer.CalculateLinearCombination" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneOverallScorer.CalculateLinearCombination">
+<span class="sig-name descname"><span class="pre">CalculateLinearCombination</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">linear_weights</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_residues</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneOverallScorer.CalculateLinearCombination" title="Permalink to this definition">¶</a></dt>
 <dd><p>Calculate linear combination of scores for one or several stretches of
 amino acids given the current scoring environment.</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>linear_weights</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#dict" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> (keys: <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>,
-values: <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)) – Weights for each desired scorer. You can add a
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>linear_weights</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#dict" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> (keys: <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>,
+values: <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>)) – Weights for each desired scorer. You can add a
 constant value to each score by defining a weight
-with key “intercept”.</li>
-<li><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number defining the position in the SEQRES
-(see <a class="reference internal" href="backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> for indexing)</li>
-<li><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of residues in the stretch(es) to score</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the stretch(es) belongs to
-(see <a class="reference internal" href="backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> for indexing)</li>
+with key “intercept”.</p></li>
+<li><p><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number defining the position in the SEQRES
+(see <a class="reference internal" href="backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> for indexing)</p></li>
+<li><p><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of residues in the stretch(es) to score</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the stretch(es) belongs to
+(see <a class="reference internal" href="backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> for indexing)</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Linear combination of the scores calculated with the desired
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Linear combination of the scores calculated with the desired
 scorers for the given stretch(es)</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</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"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>linear_weights</em> has a <em>key</em> for
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>linear_weights</em> has a <em>key</em> for
 which no scorer exists or anything raised in
 <a class="reference internal" href="#promod3.scoring.BackboneScorer.CalculateScore" title="promod3.scoring.BackboneScorer.CalculateScore"><code class="xref py py-meth docutils literal notranslate"><span class="pre">BackboneScorer.CalculateScore()</span></code></a> for any of the used scorers.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.BackboneOverallScorer.__getitem__">
-<code class="descname">__getitem__</code><span class="sig-paren">(</span><em>key</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneOverallScorer.__getitem__" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.scoring.BackboneOverallScorer.__setitem__">
-<code class="descname">__setitem__</code><span class="sig-paren">(</span><em>key</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneOverallScorer.__setitem__" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneOverallScorer.__getitem__">
+<span class="sig-name descname"><span class="pre">__getitem__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneOverallScorer.__getitem__" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.scoring.BackboneOverallScorer.__setitem__">
+<span class="sig-name descname"><span class="pre">__setitem__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">key</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneOverallScorer.__setitem__" title="Permalink to this definition">¶</a></dt>
 <dd><p>Allow read/write access (with [<em>key</em>]) to scorer object with given key.</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>key</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Key for desired scorer.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>key</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Key for desired scorer.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.scoring.LoadDefaultBackboneOverallScorer">
-<code class="descclassname">promod3.scoring.</code><code class="descname">LoadDefaultBackboneOverallScorer</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.LoadDefaultBackboneOverallScorer" 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">Loads or creates the default scorers accessible through
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.scoring.LoadDefaultBackboneOverallScorer">
+<span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">LoadDefaultBackboneOverallScorer</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.LoadDefaultBackboneOverallScorer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Loads or creates the default scorers accessible through
 following keys:
-“cb_packing”, “cbeta”, “reduced”, “clash”, “hbond”, “ss_agreement”,”torsion”, “pairwise”</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.scoring.BackboneOverallScorer" title="promod3.scoring.BackboneOverallScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneOverallScorer</span></code></a></td>
-</tr>
-</tbody>
-</table>
+“cb_packing”, “cbeta”, “reduced”, “clash”, “hbond”, “ss_agreement”,“torsion”, “pairwise”</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.scoring.BackboneOverallScorer" title="promod3.scoring.BackboneOverallScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneOverallScorer</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="backbonescorer-base-class">
-<h2>BackboneScorer base class<a class="headerlink" href="#backbonescorer-base-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.scoring.BackboneScorer">
-<em class="property">class </em><code class="descclassname">promod3.scoring.</code><code class="descname">BackboneScorer</code><a class="headerlink" href="#promod3.scoring.BackboneScorer" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="backbonescorer-base-class">
+<h2>BackboneScorer base class<a class="headerlink" href="#backbonescorer-base-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneScorer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">BackboneScorer</span></span><a class="headerlink" href="#promod3.scoring.BackboneScorer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Base class for all the backbone scorers listed below.</p>
-<dl class="method">
-<dt id="promod3.scoring.BackboneScorer.AttachEnvironment">
-<code class="descname">AttachEnvironment</code><span class="sig-paren">(</span><em>env</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScorer.AttachEnvironment" 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>env</strong> (<a class="reference internal" href="backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a>) – Link scorer to this score environment.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneScorer.AttachEnvironment">
+<span class="sig-name descname"><span class="pre">AttachEnvironment</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">env</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScorer.AttachEnvironment" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>env</strong> (<a class="reference internal" href="backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a>) – Link scorer to this score environment.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.BackboneScorer.CalculateScore">
-<code class="descname">CalculateScore</code><span class="sig-paren">(</span><em>start_resnum</em>, <em>num_residues</em>, <em>chain_idx=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScorer.CalculateScore" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneScorer.CalculateScore">
+<span class="sig-name descname"><span class="pre">CalculateScore</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_residues</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScorer.CalculateScore" title="Permalink to this definition">¶</a></dt>
 <dd><p>Calculates score for one or several stretches given the structural
 information in the attached environment. Unless otherwise noted in the
 scorer, a lower “score” is better!</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number defining the position in the SEQRES
-(see <a class="reference internal" href="backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> for indexing)</li>
-<li><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of residues in the stretch(es) to score</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the stretch(es) belongs to
-(see <a class="reference internal" href="backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> for indexing)</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number defining the position in the SEQRES
+(see <a class="reference internal" href="backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> for indexing)</p></li>
+<li><p><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of residues in the stretch(es) to score</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the stretch(es) belongs to
+(see <a class="reference internal" href="backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> for indexing)</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Score for the given stretch(es).</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</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">(for most scorers) <code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if scorer was
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Score for the given stretch(es).</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p>(for most scorers) <code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if scorer was
 never attached to a score environment, if scorer has never been
 properly initialized or if <em>start_resnum</em> / <em>num_residues</em> /
 <em>chain_idx</em> lead to invalid positions.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.BackboneScorer.CalculateScoreProfile">
-<code class="descname">CalculateScoreProfile</code><span class="sig-paren">(</span><em>start_resnum</em>, <em>num_residues</em>, <em>chain_idx=0</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScorer.CalculateScoreProfile" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.BackboneScorer.CalculateScoreProfile">
+<span class="sig-name descname"><span class="pre">CalculateScoreProfile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">start_resnum</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_residues</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chain_idx</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.BackboneScorer.CalculateScoreProfile" title="Permalink to this definition">¶</a></dt>
 <dd><p>Calculates per residue scores for one or several stretches given the
 structural information in the attached environment.</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number defining the position in the SEQRES
-(see <a class="reference internal" href="backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> for indexing)</li>
-<li><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of residues in the stretch(es) to score</li>
-<li><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the stretch(es) belongs to
-(see <a class="reference internal" href="backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> for indexing)</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>start_resnum</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Res. number defining the position in the SEQRES
+(see <a class="reference internal" href="backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> for indexing)</p></li>
+<li><p><strong>num_residues</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of residues in the stretch(es) to score</p></li>
+<li><p><strong>chain_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> / <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of chain the stretch(es) belongs to
+(see <a class="reference internal" href="backbone_score_env.html#promod3.scoring.BackboneScoreEnv" title="promod3.scoring.BackboneScoreEnv"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScoreEnv</span></code></a> for indexing)</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Scores for the given stretch(es), one for each residue.</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a> or <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>
-of <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</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">same <code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> as <a class="reference internal" href="#promod3.scoring.BackboneScorer.CalculateScore" title="promod3.scoring.BackboneScorer.CalculateScore"><code class="xref py py-meth docutils literal notranslate"><span class="pre">CalculateScore()</span></code></a>.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Scores for the given stretch(es), one for each residue.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a> or <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>
+of <a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p>same <code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> as <a class="reference internal" href="#promod3.scoring.BackboneScorer.CalculateScore" title="promod3.scoring.BackboneScorer.CalculateScore"><code class="xref py py-meth docutils literal notranslate"><span class="pre">CalculateScore()</span></code></a>.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="cbpackingscorer-class">
-<h2>CBPackingScorer class<a class="headerlink" href="#cbpackingscorer-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.scoring.CBPackingScorer">
-<em class="property">class </em><code class="descclassname">promod3.scoring.</code><code class="descname">CBPackingScorer</code><span class="sig-paren">(</span><em>cutoff</em>, <em>max_count</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBPackingScorer" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="cbpackingscorer-class">
+<h2>CBPackingScorer class<a class="headerlink" href="#cbpackingscorer-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.scoring.CBPackingScorer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">CBPackingScorer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cutoff</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_count</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBPackingScorer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Inherits all functionality of <a class="reference internal" href="#promod3.scoring.BackboneScorer" title="promod3.scoring.BackboneScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScorer</span></code></a>. Evaluates pseudo
 energies by counting the number of other CB positions within a certain
 <em>cutoff</em> radius of the CB position of the residue to be evaluated.</p>
 <p>The scorer needs to be initialized either by loading a predefined scorer (e.g.
 <a class="reference internal" href="#promod3.scoring.LoadCBPackingScorer" title="promod3.scoring.LoadCBPackingScorer"><code class="xref py py-func docutils literal notranslate"><span class="pre">LoadCBPackingScorer()</span></code></a>) or by setting all energies (see
 <a class="reference internal" href="#promod3.scoring.CBPackingScorer.SetEnergy" title="promod3.scoring.CBPackingScorer.SetEnergy"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetEnergy()</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 simple">
-<li><strong>cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Radius in which other cbeta atoms are counted.</li>
-<li><strong>max_count</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If number of other cbeta atoms exceeds <em>max_count</em>, it will
-be set to this number.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Radius in which other cbeta atoms are counted.</p></li>
+<li><p><strong>max_count</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – If number of other cbeta atoms exceeds <em>max_count</em>, it will
+be set to this number.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>cutoff</em> &lt; 0 or <em>max_count</em> &lt; 1.</p>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="staticmethod">
-<dt id="promod3.scoring.CBPackingScorer.Load">
-<em class="property">static </em><code class="descname">Load</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBPackingScorer.Load" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.scoring.CBPackingScorer.LoadPortable">
-<em class="property">static </em><code class="descname">LoadPortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBPackingScorer.LoadPortable" title="Permalink to this definition">¶</a></dt>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>cutoff</em> &lt; 0 or <em>max_count</em> &lt; 1.</p>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.CBPackingScorer.Load">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBPackingScorer.Load" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.scoring.CBPackingScorer.LoadPortable">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LoadPortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBPackingScorer.LoadPortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Loads raw binary file generated with <a class="reference internal" href="#promod3.scoring.CBPackingScorer.Save" title="promod3.scoring.CBPackingScorer.Save"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Save()</span></code></a> (optimized for fast
 reading) / portable file generated with <a class="reference internal" href="#promod3.scoring.CBPackingScorer.SavePortable" title="promod3.scoring.CBPackingScorer.SavePortable"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SavePortable()</span></code></a> (slower but
 less machine-dependent).</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The loaded scorer</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.scoring.CBPackingScorer" title="promod3.scoring.CBPackingScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBPackingScorer</span></code></a></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
-file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The loaded scorer</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.scoring.CBPackingScorer" title="promod3.scoring.CBPackingScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBPackingScorer</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
+file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.CBPackingScorer.Save">
-<code class="descname">Save</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBPackingScorer.Save" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.scoring.CBPackingScorer.SavePortable">
-<code class="descname">SavePortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBPackingScorer.SavePortable" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.CBPackingScorer.Save">
+<span class="sig-name descname"><span class="pre">Save</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBPackingScorer.Save" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.scoring.CBPackingScorer.SavePortable">
+<span class="sig-name descname"><span class="pre">SavePortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBPackingScorer.SavePortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Saves a raw / portable binary representation. Use portable files for
 distribution and convert locally to raw files. See <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a>
 for details.</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.CBPackingScorer.SetEnergy">
-<code class="descname">SetEnergy</code><span class="sig-paren">(</span><em>aa</em>, <em>count</em>, <em>energy</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBPackingScorer.SetEnergy" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.CBPackingScorer.SetEnergy">
+<span class="sig-name descname"><span class="pre">SetEnergy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aa</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">count</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">energy</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBPackingScorer.SetEnergy" title="Permalink to this definition">¶</a></dt>
 <dd><p>Setup one energy value. Unless a predefined scorer is loaded, this must be
 called for every type of amino acids and for every <em>count</em> &lt;= <em>max_count</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>aa</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – Amino acid for which to set energy.</li>
-<li><strong>count</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of surrounding CB positions for which to set energy.</li>
-<li><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Energy to set for those parameters.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>aa</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – Amino acid for which to set energy.</p></li>
+<li><p><strong>count</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of surrounding CB positions for which to set energy.</p></li>
+<li><p><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Energy to set for those parameters.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if inputs are invalid</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if inputs are invalid</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.CBPackingScorer.DoNormalize">
-<code class="descname">DoNormalize</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBPackingScorer.DoNormalize" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
-of residues to be scored. True by default.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.CBPackingScorer.DoNormalize">
+<span class="sig-name descname"><span class="pre">DoNormalize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBPackingScorer.DoNormalize" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
+of residues to be scored. True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.scoring.LoadCBPackingScorer">
-<code class="descclassname">promod3.scoring.</code><code class="descname">LoadCBPackingScorer</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.LoadCBPackingScorer" 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 default predefined CBPackingScorer (loaded from disk)</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.scoring.CBPackingScorer" title="promod3.scoring.CBPackingScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBPackingScorer</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.scoring.LoadCBPackingScorer">
+<span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">LoadCBPackingScorer</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.LoadCBPackingScorer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The default predefined CBPackingScorer (loaded from disk)</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.scoring.CBPackingScorer" title="promod3.scoring.CBPackingScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBPackingScorer</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="cbetascorer-class">
-<h2>CBetaScorer class<a class="headerlink" href="#cbetascorer-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.scoring.CBetaScorer">
-<em class="property">class </em><code class="descclassname">promod3.scoring.</code><code class="descname">CBetaScorer</code><span class="sig-paren">(</span><em>cutoff</em>, <em>bins</em>, <em>seq_sep</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBetaScorer" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="cbetascorer-class">
+<h2>CBetaScorer class<a class="headerlink" href="#cbetascorer-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.scoring.CBetaScorer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">CBetaScorer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cutoff</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bins</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seq_sep</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBetaScorer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Inherits all functionality of <a class="reference internal" href="#promod3.scoring.BackboneScorer" title="promod3.scoring.BackboneScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScorer</span></code></a>. Evaluates a pairwise
 pseudo interaction energy between CB atoms which are located within a <em>cutoff</em>
 and which are at least <em>seq_sep</em> residues apart. An energy is assigned to each
@@ -428,163 +388,142 @@ distance using equally sized bins and distinguishing all possible pairs
 of amino acids.</p>
 <p>The scorer needs to be initialized either by loading a predefined scorer (e.g.
 <a class="reference internal" href="#promod3.scoring.LoadCBetaScorer" title="promod3.scoring.LoadCBetaScorer"><code class="xref py py-func docutils literal notranslate"><span class="pre">LoadCBetaScorer()</span></code></a>) or by setting all energies (see <a class="reference internal" href="#promod3.scoring.CBetaScorer.SetEnergy" title="promod3.scoring.CBetaScorer.SetEnergy"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetEnergy()</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 simple">
-<li><strong>cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Radius in which other cbeta atoms are considered.</li>
-<li><strong>bins</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of equally sized bins to discretize distances (range
-of [0, <em>cutoff</em>]).</li>
-<li><strong>seq_sep</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Minimal separation in sequence two cbeta atoms must have to
-be considered.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Radius in which other cbeta atoms are considered.</p></li>
+<li><p><strong>bins</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of equally sized bins to discretize distances (range
+of [0, <em>cutoff</em>]).</p></li>
+<li><p><strong>seq_sep</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Minimal separation in sequence two cbeta atoms must have to
+be considered.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>cutoff</em> &lt; 0, <em>bins</em> &lt; 1 or
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>cutoff</em> &lt; 0, <em>bins</em> &lt; 1 or
 <em>seq_sep</em> &lt; 1.</p>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="staticmethod">
-<dt id="promod3.scoring.CBetaScorer.Load">
-<em class="property">static </em><code class="descname">Load</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBetaScorer.Load" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.scoring.CBetaScorer.LoadPortable">
-<em class="property">static </em><code class="descname">LoadPortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBetaScorer.LoadPortable" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.CBetaScorer.Load">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBetaScorer.Load" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.scoring.CBetaScorer.LoadPortable">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LoadPortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBetaScorer.LoadPortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Loads raw binary file generated with <a class="reference internal" href="#promod3.scoring.CBetaScorer.Save" title="promod3.scoring.CBetaScorer.Save"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Save()</span></code></a> (optimized for fast
 reading) / portable file generated with <a class="reference internal" href="#promod3.scoring.CBetaScorer.SavePortable" title="promod3.scoring.CBetaScorer.SavePortable"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SavePortable()</span></code></a> (slower but
 less machine-dependent).</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The loaded scorer</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.scoring.CBetaScorer" title="promod3.scoring.CBetaScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBetaScorer</span></code></a></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
-file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The loaded scorer</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.scoring.CBetaScorer" title="promod3.scoring.CBetaScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBetaScorer</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
+file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.CBetaScorer.Save">
-<code class="descname">Save</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBetaScorer.Save" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.scoring.CBetaScorer.SavePortable">
-<code class="descname">SavePortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBetaScorer.SavePortable" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.CBetaScorer.Save">
+<span class="sig-name descname"><span class="pre">Save</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBetaScorer.Save" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.scoring.CBetaScorer.SavePortable">
+<span class="sig-name descname"><span class="pre">SavePortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBetaScorer.SavePortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Saves a raw / portable binary representation. Use portable files for
 distribution and convert locally to raw files. See <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a>
 for details.</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.CBetaScorer.SetEnergy">
-<code class="descname">SetEnergy</code><span class="sig-paren">(</span><em>aa1</em>, <em>aa2</em>, <em>bin</em>, <em>energy</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBetaScorer.SetEnergy" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.CBetaScorer.SetEnergy">
+<span class="sig-name descname"><span class="pre">SetEnergy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aa1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">aa2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bin</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">energy</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBetaScorer.SetEnergy" title="Permalink to this definition">¶</a></dt>
 <dd><p>Setup one energy value. Unless a predefined scorer is loaded, this must be
 called for every pair of amino acids and for every <em>bin</em> &lt; <em>bins</em>.
 Internal symmetry is enforced =&gt; Calling SetEnergy(aa1, aa2, bin, energy) is
 equivalent to calling SetEnergy(aa1, aa2, bin, energy) AND
 SetEnergy(aa2, aa1, bin, energy).</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>aa1</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – Amino acid for first interaction partner.</li>
-<li><strong>aa2</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – Amino acid for second interaction partner.</li>
-<li><strong>bin</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the interaction distance.</li>
-<li><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Energy to set for those parameters.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>aa1</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – Amino acid for first interaction partner.</p></li>
+<li><p><strong>aa2</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – Amino acid for second interaction partner.</p></li>
+<li><p><strong>bin</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the interaction distance.</p></li>
+<li><p><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Energy to set for those parameters.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if inputs are invalid</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if inputs are invalid</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.CBetaScorer.DoInternalScores">
-<code class="descname">DoInternalScores</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBetaScorer.DoInternalScores" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions between
-the scored residues. True by default.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.CBetaScorer.DoInternalScores">
+<span class="sig-name descname"><span class="pre">DoInternalScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBetaScorer.DoInternalScores" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions between
+the scored residues. True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.CBetaScorer.DoExternalScores">
-<code class="descname">DoExternalScores</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBetaScorer.DoExternalScores" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions of the scored
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.CBetaScorer.DoExternalScores">
+<span class="sig-name descname"><span class="pre">DoExternalScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBetaScorer.DoExternalScores" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions of the scored
 residues towards the surrounding environment.
-True by default.</td>
-</tr>
-</tbody>
-</table>
+True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.CBetaScorer.DoNormalize">
-<code class="descname">DoNormalize</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBetaScorer.DoNormalize" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
-of residues to be scored. True by default.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.CBetaScorer.DoNormalize">
+<span class="sig-name descname"><span class="pre">DoNormalize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.CBetaScorer.DoNormalize" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
+of residues to be scored. True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.scoring.LoadCBetaScorer">
-<code class="descclassname">promod3.scoring.</code><code class="descname">LoadCBetaScorer</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.LoadCBetaScorer" 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 default predefined CBetaScorer (loaded from disk)</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.scoring.CBetaScorer" title="promod3.scoring.CBetaScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBetaScorer</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.scoring.LoadCBetaScorer">
+<span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">LoadCBetaScorer</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.LoadCBetaScorer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The default predefined CBetaScorer (loaded from disk)</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.scoring.CBetaScorer" title="promod3.scoring.CBetaScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">CBetaScorer</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="reducedscorer-class">
-<h2>ReducedScorer class<a class="headerlink" href="#reducedscorer-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.scoring.ReducedScorer">
-<em class="property">class </em><code class="descclassname">promod3.scoring.</code><code class="descname">ReducedScorer</code><span class="sig-paren">(</span><em>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.scoring.ReducedScorer" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="reducedscorer-class">
+<h2>ReducedScorer class<a class="headerlink" href="#reducedscorer-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.scoring.ReducedScorer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">ReducedScorer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cutoff</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dist_bins</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">angle_bins</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dihedral_bins</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seq_sep</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ReducedScorer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Inherits all functionality of <a class="reference internal" href="#promod3.scoring.BackboneScorer" title="promod3.scoring.BackboneScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScorer</span></code></a>. Evaluates a pairwise
 pseudo interaction energy between the reduced representation of residues.
 Every residue gets represented by its CA position p and a directional
@@ -593,84 +532,78 @@ distance &lt; <em>cutoff</em> and which are at least <em>seq_sep</em> residues a
 considered to be interacting. For interacting residues r1 and r2, we can
 define a line l between p1 and p2. The potential then considers:</p>
 <ul class="simple">
-<li>dist =&gt; distance between p1 and p2</li>
-<li>alpha =&gt; angle between v1 and l</li>
-<li>beta =&gt; angle between v2 and l</li>
-<li>gamma =&gt; dihedral between (p1+v1,p1,p2,p2+v2)</li>
+<li><p>dist =&gt; distance between p1 and p2</p></li>
+<li><p>alpha =&gt; angle between v1 and l</p></li>
+<li><p>beta =&gt; angle between v2 and l</p></li>
+<li><p>gamma =&gt; dihedral between (p1+v1,p1,p2,p2+v2)</p></li>
 </ul>
 <p>The scorer needs to be initialized either by loading a predefined scorer (e.g.
 <a class="reference internal" href="#promod3.scoring.LoadReducedScorer" title="promod3.scoring.LoadReducedScorer"><code class="xref py py-func docutils literal notranslate"><span class="pre">LoadReducedScorer()</span></code></a>) or by setting all energies (see <a class="reference internal" href="#promod3.scoring.ReducedScorer.SetEnergy" title="promod3.scoring.ReducedScorer.SetEnergy"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetEnergy()</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 simple">
-<li><strong>cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Radius in which other CA atoms are searched.</li>
-<li><strong>dist_bins</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of equally sized bins to discretize distances (range
-of [0, <em>cutoff</em>]).</li>
-<li><strong>angle_bins</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of equally sized bins to discretize angles (range
-of [0, pi]).</li>
-<li><strong>dihedral_bins</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of equally sized bins to discretize dihedrals
-(range of [-pi, pi]).</li>
-<li><strong>seq_sep</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Minimal separation in sequence two residues must have to
-be considered.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Radius in which other CA atoms are searched.</p></li>
+<li><p><strong>dist_bins</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of equally sized bins to discretize distances (range
+of [0, <em>cutoff</em>]).</p></li>
+<li><p><strong>angle_bins</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of equally sized bins to discretize angles (range
+of [0, pi]).</p></li>
+<li><p><strong>dihedral_bins</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of equally sized bins to discretize dihedrals
+(range of [-pi, pi]).</p></li>
+<li><p><strong>seq_sep</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Minimal separation in sequence two residues must have to
+be considered.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>cutoff</em> &lt; 0, <em>dist_bins</em> &lt; 1,
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>cutoff</em> &lt; 0, <em>dist_bins</em> &lt; 1,
 <em>angle_bins</em> &lt; 1, <em>dihedral_bins</em> &lt; 1 or <em>seq_sep</em> &lt; 1.</p>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="staticmethod">
-<dt id="promod3.scoring.ReducedScorer.Load">
-<em class="property">static </em><code class="descname">Load</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ReducedScorer.Load" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.scoring.ReducedScorer.LoadPortable">
-<em class="property">static </em><code class="descname">LoadPortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ReducedScorer.LoadPortable" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.ReducedScorer.Load">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ReducedScorer.Load" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.scoring.ReducedScorer.LoadPortable">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LoadPortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ReducedScorer.LoadPortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Loads raw binary file generated with <a class="reference internal" href="#promod3.scoring.ReducedScorer.Save" title="promod3.scoring.ReducedScorer.Save"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Save()</span></code></a> (optimized for fast
 reading) / portable file generated with <a class="reference internal" href="#promod3.scoring.ReducedScorer.SavePortable" title="promod3.scoring.ReducedScorer.SavePortable"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SavePortable()</span></code></a> (slower but
 less machine-dependent).</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The loaded scorer</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.scoring.ReducedScorer" title="promod3.scoring.ReducedScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ReducedScorer</span></code></a></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
-file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The loaded scorer</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.scoring.ReducedScorer" title="promod3.scoring.ReducedScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ReducedScorer</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
+file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.ReducedScorer.Save">
-<code class="descname">Save</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ReducedScorer.Save" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.scoring.ReducedScorer.SavePortable">
-<code class="descname">SavePortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ReducedScorer.SavePortable" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.ReducedScorer.Save">
+<span class="sig-name descname"><span class="pre">Save</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ReducedScorer.Save" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.scoring.ReducedScorer.SavePortable">
+<span class="sig-name descname"><span class="pre">SavePortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ReducedScorer.SavePortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Saves a raw / portable binary representation. Use portable files for
 distribution and convert locally to raw files. See <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a>
 for details.</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.ReducedScorer.SetEnergy">
-<code class="descname">SetEnergy</code><span class="sig-paren">(</span><em>aa1</em>, <em>aa2</em>, <em>dist_bin</em>, <em>alpha_bin</em>, <em>beta_bin</em>, <em>gamma_bin</em>, <em>energy</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ReducedScorer.SetEnergy" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.ReducedScorer.SetEnergy">
+<span class="sig-name descname"><span class="pre">SetEnergy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aa1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">aa2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dist_bin</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">alpha_bin</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">beta_bin</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gamma_bin</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">energy</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ReducedScorer.SetEnergy" title="Permalink to this definition">¶</a></dt>
 <dd><p>Setup one energy value. Unless a predefined scorer is loaded, this must be
 called for every pair of amino acids, every <em>dist_bin</em> &lt; <em>dist_bins</em>, every
 <em>alpha_bin</em> &lt; <em>angle_bins</em>, every <em>beta_bin</em> &lt; <em>angle_bins</em> and every
@@ -680,159 +613,135 @@ SetEnergy(aa1, aa2, dist_bin, alpha_bin, beta_bin, energy) is
 equivalent to calling
 SetEnergy(aa1, aa2, dist_bin, alpha_bin, beta_bin, energy) AND
 SetEnergy(aa2, aa1, dist_bin, beta_bin, alpha_bin, energy).</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>aa1</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – Amino acid for first interaction partner.</li>
-<li><strong>aa2</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – Amino acid for second interaction partner.</li>
-<li><strong>dist_bin</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the interaction distance.</li>
-<li><strong>alpha_bin</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the alpha angle.</li>
-<li><strong>beta_bin</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the beta angle.</li>
-<li><strong>gamma_bin</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the gamma dihedral.</li>
-<li><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Energy to set for those parameters.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>aa1</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – Amino acid for first interaction partner.</p></li>
+<li><p><strong>aa2</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – Amino acid for second interaction partner.</p></li>
+<li><p><strong>dist_bin</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the interaction distance.</p></li>
+<li><p><strong>alpha_bin</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the alpha angle.</p></li>
+<li><p><strong>beta_bin</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the beta angle.</p></li>
+<li><p><strong>gamma_bin</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the gamma dihedral.</p></li>
+<li><p><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Energy to set for those parameters.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if inputs are invalid</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if inputs are invalid</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.ReducedScorer.DoInternalScores">
-<code class="descname">DoInternalScores</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ReducedScorer.DoInternalScores" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions between
-the scored residues. True by default.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.ReducedScorer.DoInternalScores">
+<span class="sig-name descname"><span class="pre">DoInternalScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ReducedScorer.DoInternalScores" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions between
+the scored residues. True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.ReducedScorer.DoExternalScores">
-<code class="descname">DoExternalScores</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ReducedScorer.DoExternalScores" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions of the scored
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.ReducedScorer.DoExternalScores">
+<span class="sig-name descname"><span class="pre">DoExternalScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ReducedScorer.DoExternalScores" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions of the scored
 residues towards the surrounding environment.
-True by default.</td>
-</tr>
-</tbody>
-</table>
+True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.ReducedScorer.DoNormalize">
-<code class="descname">DoNormalize</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ReducedScorer.DoNormalize" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
-of residues to be scored. True by default.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.ReducedScorer.DoNormalize">
+<span class="sig-name descname"><span class="pre">DoNormalize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ReducedScorer.DoNormalize" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
+of residues to be scored. True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.scoring.LoadReducedScorer">
-<code class="descclassname">promod3.scoring.</code><code class="descname">LoadReducedScorer</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.LoadReducedScorer" 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 default predefined ReducedScorer (loaded from disk)</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.scoring.ReducedScorer" title="promod3.scoring.ReducedScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ReducedScorer</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.scoring.LoadReducedScorer">
+<span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">LoadReducedScorer</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.LoadReducedScorer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The default predefined ReducedScorer (loaded from disk)</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.scoring.ReducedScorer" title="promod3.scoring.ReducedScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">ReducedScorer</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="clashscorer-class">
-<h2>ClashScorer class<a class="headerlink" href="#clashscorer-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.scoring.ClashScorer">
-<em class="property">class </em><code class="descclassname">promod3.scoring.</code><code class="descname">ClashScorer</code><a class="headerlink" href="#promod3.scoring.ClashScorer" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="clashscorer-class">
+<h2>ClashScorer class<a class="headerlink" href="#clashscorer-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.scoring.ClashScorer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">ClashScorer</span></span><a class="headerlink" href="#promod3.scoring.ClashScorer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Inherits all functionality of <a class="reference internal" href="#promod3.scoring.BackboneScorer" title="promod3.scoring.BackboneScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScorer</span></code></a>. Calculates a simple
 clash score of a loop itself and with the set environment. There is no need to
 define any parameters here as all interaction energies are fixed (see Eq. (11)
-in <a class="reference internal" href="../references.html#canutescu2003b" id="id1">[canutescu2003b]</a>).</p>
-<dl class="method">
-<dt id="promod3.scoring.ClashScorer.DoInternalScores">
-<code class="descname">DoInternalScores</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ClashScorer.DoInternalScores" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions between
-the scored residues. True by default.</td>
-</tr>
-</tbody>
-</table>
+in <a class="reference internal" href="../references.html#canutescu2003b" id="id1"><span>[canutescu2003b]</span></a>).</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.ClashScorer.DoInternalScores">
+<span class="sig-name descname"><span class="pre">DoInternalScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ClashScorer.DoInternalScores" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions between
+the scored residues. True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.ClashScorer.DoExternalScores">
-<code class="descname">DoExternalScores</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ClashScorer.DoExternalScores" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions of the scored
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.ClashScorer.DoExternalScores">
+<span class="sig-name descname"><span class="pre">DoExternalScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ClashScorer.DoExternalScores" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions of the scored
 residues towards the surrounding environment.
-True by default.</td>
-</tr>
-</tbody>
-</table>
+True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.ClashScorer.DoNormalize">
-<code class="descname">DoNormalize</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ClashScorer.DoNormalize" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
-of residues to be scored. True by default.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.ClashScorer.DoNormalize">
+<span class="sig-name descname"><span class="pre">DoNormalize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.ClashScorer.DoNormalize" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
+of residues to be scored. True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="hbondscorer-class">
-<h2>HBondScorer class<a class="headerlink" href="#hbondscorer-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.scoring.HBondScorer">
-<em class="property">class </em><code class="descclassname">promod3.scoring.</code><code class="descname">HBondScorer</code><span class="sig-paren">(</span><em>min_d</em>, <em>max_d</em>, <em>min_alpha</em>, <em>max_alpha</em>, <em>min_beta</em>, <em>max_beta</em>, <em>min_gamma</em>, <em>max_gamma</em>, <em>d_bins</em>, <em>alpha_bins</em>, <em>beta_bins</em>, <em>gamma_bins</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.HBondScorer" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="hbondscorer-class">
+<h2>HBondScorer class<a class="headerlink" href="#hbondscorer-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.scoring.HBondScorer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">HBondScorer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">min_d</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_d</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_alpha</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_alpha</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_beta</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_beta</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_gamma</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_gamma</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">d_bins</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">alpha_bins</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">beta_bins</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gamma_bins</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.HBondScorer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Inherits all functionality of <a class="reference internal" href="#promod3.scoring.BackboneScorer" title="promod3.scoring.BackboneScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScorer</span></code></a>. Evaluates pairwise
 HBond pseudo energies similar to the one defined in the Rosetta energy
 function. It considers the CA, C and O positions from backbone hbond acceptors
 in interaction with the N and H positions from the backbone hbond donors. 4
 Parameters describe their relative orientation.</p>
 <ul class="simple">
-<li>dist =&gt; H-O distance</li>
-<li>alpha =&gt; O-H-N angle</li>
-<li>beta =&gt; C-N-H angle</li>
-<li>gamma =&gt; CA-C-O-H dihedral angle</li>
+<li><p>dist =&gt; H-O distance</p></li>
+<li><p>alpha =&gt; O-H-N angle</p></li>
+<li><p>beta =&gt; C-N-H angle</p></li>
+<li><p>gamma =&gt; CA-C-O-H dihedral angle</p></li>
 </ul>
 <p>A pseudo energy function for these parameters is evaluated for three different
 states. State 1 for helical residues, state 2 for extended residues and state
@@ -841,176 +750,155 @@ thats the one from which the energy is extracted. In all other cases, the
 energy is extracted from the 0 state.</p>
 <p>The scorer needs to be initialized either by loading a predefined scorer (e.g.
 <a class="reference internal" href="#promod3.scoring.LoadHBondScorer" title="promod3.scoring.LoadHBondScorer"><code class="xref py py-func docutils literal notranslate"><span class="pre">LoadHBondScorer()</span></code></a>) or by setting all energies (see <a class="reference internal" href="#promod3.scoring.HBondScorer.SetEnergy" title="promod3.scoring.HBondScorer.SetEnergy"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetEnergy()</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 simple">
-<li><strong>min_d</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Minimal H-O distance to consider interaction</li>
-<li><strong>max_d</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal H-O distance to consider interaction</li>
-<li><strong>min_alpha</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Minimal O-H-N angle to consider interaction</li>
-<li><strong>max_alpha</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal O-H-N angle to consider interaction</li>
-<li><strong>min_beta</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Minimal C-N-H angle to consider interaction</li>
-<li><strong>max_beta</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal C-N-H angle to consider interaction</li>
-<li><strong>min_gamma</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Minimal CA-C-O-H dihedral to consider interaction</li>
-<li><strong>max_gamma</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal CA-C-O-H dihedral to consider interaction</li>
-<li><strong>d_bins</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of equally sized bins to discretize H-O distances
-(range of [<em>min_d</em>, <em>max_d</em>]).</li>
-<li><strong>alpha_bins</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of equally sized bins to discretize O-H-N angles
-(range of [<em>min_alpha</em>, <em>max_alpha</em>]).</li>
-<li><strong>beta_bins</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of equally sized bins to discretize C-N-H angles
-(range of [<em>min_beta</em>, <em>max_beta</em>]).</li>
-<li><strong>gamma_bins</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of equally sized bins to discretize CA-C-O-H angles
-(range of [<em>min_gamma</em>, <em>max_gamma</em>]).</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>min_d</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Minimal H-O distance to consider interaction</p></li>
+<li><p><strong>max_d</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal H-O distance to consider interaction</p></li>
+<li><p><strong>min_alpha</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Minimal O-H-N angle to consider interaction</p></li>
+<li><p><strong>max_alpha</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal O-H-N angle to consider interaction</p></li>
+<li><p><strong>min_beta</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Minimal C-N-H angle to consider interaction</p></li>
+<li><p><strong>max_beta</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal C-N-H angle to consider interaction</p></li>
+<li><p><strong>min_gamma</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Minimal CA-C-O-H dihedral to consider interaction</p></li>
+<li><p><strong>max_gamma</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Maximal CA-C-O-H dihedral to consider interaction</p></li>
+<li><p><strong>d_bins</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of equally sized bins to discretize H-O distances
+(range of [<em>min_d</em>, <em>max_d</em>]).</p></li>
+<li><p><strong>alpha_bins</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of equally sized bins to discretize O-H-N angles
+(range of [<em>min_alpha</em>, <em>max_alpha</em>]).</p></li>
+<li><p><strong>beta_bins</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of equally sized bins to discretize C-N-H angles
+(range of [<em>min_beta</em>, <em>max_beta</em>]).</p></li>
+<li><p><strong>gamma_bins</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of equally sized bins to discretize CA-C-O-H angles
+(range of [<em>min_gamma</em>, <em>max_gamma</em>]).</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if one of the bin parameters is
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if one of the bin parameters is
 &lt; 1 or a max parameter is smaller than its min counterpart.</p>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="staticmethod">
-<dt id="promod3.scoring.HBondScorer.Load">
-<em class="property">static </em><code class="descname">Load</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.HBondScorer.Load" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.scoring.HBondScorer.LoadPortable">
-<em class="property">static </em><code class="descname">LoadPortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.HBondScorer.LoadPortable" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.HBondScorer.Load">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.HBondScorer.Load" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.scoring.HBondScorer.LoadPortable">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LoadPortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.HBondScorer.LoadPortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Loads raw binary file generated with <a class="reference internal" href="#promod3.scoring.HBondScorer.Save" title="promod3.scoring.HBondScorer.Save"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Save()</span></code></a> (optimized for fast
 reading) / portable file generated with <a class="reference internal" href="#promod3.scoring.HBondScorer.SavePortable" title="promod3.scoring.HBondScorer.SavePortable"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SavePortable()</span></code></a> (slower but
 less machine-dependent).</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The loaded scorer</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.scoring.HBondScorer" title="promod3.scoring.HBondScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">HBondScorer</span></code></a></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
-file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The loaded scorer</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.scoring.HBondScorer" title="promod3.scoring.HBondScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">HBondScorer</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
+file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.HBondScorer.Save">
-<code class="descname">Save</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.HBondScorer.Save" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.scoring.HBondScorer.SavePortable">
-<code class="descname">SavePortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.HBondScorer.SavePortable" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.HBondScorer.Save">
+<span class="sig-name descname"><span class="pre">Save</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.HBondScorer.Save" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.scoring.HBondScorer.SavePortable">
+<span class="sig-name descname"><span class="pre">SavePortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.HBondScorer.SavePortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Saves a raw / portable binary representation. Use portable files for
 distribution and convert locally to raw files. See <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a>
 for details.</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.HBondScorer.SetEnergy">
-<code class="descname">SetEnergy</code><span class="sig-paren">(</span><em>state</em>, <em>d_bin</em>, <em>alpha_bin</em>, <em>beta_bin</em>, <em>gamma_bin</em>, <em>energy</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.HBondScorer.SetEnergy" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.HBondScorer.SetEnergy">
+<span class="sig-name descname"><span class="pre">SetEnergy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">state</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">d_bin</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">alpha_bin</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">beta_bin</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gamma_bin</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">energy</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.HBondScorer.SetEnergy" title="Permalink to this definition">¶</a></dt>
 <dd><p>Setup one energy value. Unless a predefined scorer is loaded, this must be
 called for every state ([0, 1, 2]), every <em>d_bin</em> &lt; <em>d_bins</em>, every
 <em>alpha_bin</em> &lt; <em>alpha_bins</em>, every <em>beta_bin</em> &lt; <em>beta_bins</em> and every
 <em>gamma_bin</em> &lt; <em>gamma_bins</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>state</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – State describing the actual secondary structure
-(1: helical, 2: extended, 0: other)</li>
-<li><strong>d_bin</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the H-O distance.</li>
-<li><strong>alpha_bin</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the O-H-N angle.</li>
-<li><strong>beta_bin</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the C-N-H angle.</li>
-<li><strong>gamma_bin</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the CA-C-O-H dihedral.</li>
-<li><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Energy to set for those parameters.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>state</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – State describing the actual secondary structure
+(1: helical, 2: extended, 0: other)</p></li>
+<li><p><strong>d_bin</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the H-O distance.</p></li>
+<li><p><strong>alpha_bin</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the O-H-N angle.</p></li>
+<li><p><strong>beta_bin</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the C-N-H angle.</p></li>
+<li><p><strong>gamma_bin</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the CA-C-O-H dihedral.</p></li>
+<li><p><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Energy to set for those parameters.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if inputs are invalid</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if inputs are invalid</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.HBondScorer.DoInternalScores">
-<code class="descname">DoInternalScores</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.HBondScorer.DoInternalScores" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions between
-the scored residues. True by default.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.HBondScorer.DoInternalScores">
+<span class="sig-name descname"><span class="pre">DoInternalScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.HBondScorer.DoInternalScores" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions between
+the scored residues. True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.HBondScorer.DoExternalScores">
-<code class="descname">DoExternalScores</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.HBondScorer.DoExternalScores" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions of the scored
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.HBondScorer.DoExternalScores">
+<span class="sig-name descname"><span class="pre">DoExternalScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.HBondScorer.DoExternalScores" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions of the scored
 residues towards the surrounding environment.
-True by default.</td>
-</tr>
-</tbody>
-</table>
+True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.HBondScorer.DoNormalize">
-<code class="descname">DoNormalize</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.HBondScorer.DoNormalize" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
-of residues to be scored. True by default.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.HBondScorer.DoNormalize">
+<span class="sig-name descname"><span class="pre">DoNormalize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.HBondScorer.DoNormalize" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
+of residues to be scored. True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.scoring.LoadHBondScorer">
-<code class="descclassname">promod3.scoring.</code><code class="descname">LoadHBondScorer</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.LoadHBondScorer" 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 default predefined HBondScorer (loaded from disk)</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.scoring.HBondScorer" title="promod3.scoring.HBondScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">HBondScorer</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.scoring.LoadHBondScorer">
+<span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">LoadHBondScorer</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.LoadHBondScorer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The default predefined HBondScorer (loaded from disk)</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.scoring.HBondScorer" title="promod3.scoring.HBondScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">HBondScorer</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="ssagreementscorer-class">
-<h2>SSAgreementScorer class<a class="headerlink" href="#ssagreementscorer-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.scoring.SSAgreementScorer">
-<em class="property">class </em><code class="descclassname">promod3.scoring.</code><code class="descname">SSAgreementScorer</code><a class="headerlink" href="#promod3.scoring.SSAgreementScorer" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="ssagreementscorer-class">
+<h2>SSAgreementScorer class<a class="headerlink" href="#ssagreementscorer-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.scoring.SSAgreementScorer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">SSAgreementScorer</span></span><a class="headerlink" href="#promod3.scoring.SSAgreementScorer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Inherits all functionality of <a class="reference internal" href="#promod3.scoring.BackboneScorer" title="promod3.scoring.BackboneScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScorer</span></code></a>. Evaluates a secondary
 structure agreement score. The scorer has a score for each  combination of
 psipred prediction, its confidence and the actually occurring secondary
@@ -1026,112 +914,101 @@ defined (see <a class="reference internal" href="backbone_score_env.html#promod3
 is to be calculated.</p>
 <p>Note that for this scorer a higher “score” is better! So take care when
 combining this to other scores, where it is commonly the other way around.</p>
-<dl class="staticmethod">
-<dt id="promod3.scoring.SSAgreementScorer.Load">
-<em class="property">static </em><code class="descname">Load</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.SSAgreementScorer.Load" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.scoring.SSAgreementScorer.LoadPortable">
-<em class="property">static </em><code class="descname">LoadPortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.SSAgreementScorer.LoadPortable" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.SSAgreementScorer.Load">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.SSAgreementScorer.Load" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.scoring.SSAgreementScorer.LoadPortable">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LoadPortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.SSAgreementScorer.LoadPortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Loads raw binary file generated with <a class="reference internal" href="#promod3.scoring.SSAgreementScorer.Save" title="promod3.scoring.SSAgreementScorer.Save"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Save()</span></code></a> (optimized for fast
 reading) / portable file generated with <a class="reference internal" href="#promod3.scoring.SSAgreementScorer.SavePortable" title="promod3.scoring.SSAgreementScorer.SavePortable"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SavePortable()</span></code></a> (slower but
 less machine-dependent).</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The loaded scorer</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.scoring.SSAgreementScorer" title="promod3.scoring.SSAgreementScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">SSAgreementScorer</span></code></a></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
-file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The loaded scorer</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.scoring.SSAgreementScorer" title="promod3.scoring.SSAgreementScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">SSAgreementScorer</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
+file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.SSAgreementScorer.Save">
-<code class="descname">Save</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.SSAgreementScorer.Save" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.scoring.SSAgreementScorer.SavePortable">
-<code class="descname">SavePortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.SSAgreementScorer.SavePortable" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.SSAgreementScorer.Save">
+<span class="sig-name descname"><span class="pre">Save</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.SSAgreementScorer.Save" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.scoring.SSAgreementScorer.SavePortable">
+<span class="sig-name descname"><span class="pre">SavePortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.SSAgreementScorer.SavePortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Saves a raw / portable binary representation. Use portable files for
 distribution and convert locally to raw files. See <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a>
 for details.</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.SSAgreementScorer.SetScore">
-<code class="descname">SetScore</code><span class="sig-paren">(</span><em>psipred_state</em>, <em>psipred_confidence</em>, <em>dssp_state</em>, <em>score</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.SSAgreementScorer.SetScore" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.SSAgreementScorer.SetScore">
+<span class="sig-name descname"><span class="pre">SetScore</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">psipred_state</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psipred_confidence</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dssp_state</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">score</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.SSAgreementScorer.SetScore" title="Permalink to this definition">¶</a></dt>
 <dd><p>Setup a single score for a combination of states. Unless a predefined scorer
 is loaded, this must be called for every combination of states.</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>psipred_state</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – must be in range [0, 9]</li>
-<li><strong>dssp_state</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – score to be set</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>psipred_state</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – must be one of [‘H’, ‘E’, ‘C’]</p></li>
+<li><p><strong>psipred_confidence</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – must be in range [0, 9]</p></li>
+<li><p><strong>dssp_state</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – must be one of [‘H’, ‘E’, ‘C’, ‘G’, ‘B’, ‘S’, ‘T’, ‘I’]</p></li>
+<li><p><strong>score</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – score to be set</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if inputs are invalid</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if inputs are invalid</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.SSAgreementScorer.DoNormalize">
-<code class="descname">DoNormalize</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.SSAgreementScorer.DoNormalize" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
-of residues to be scored. True by default.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.SSAgreementScorer.DoNormalize">
+<span class="sig-name descname"><span class="pre">DoNormalize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.SSAgreementScorer.DoNormalize" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
+of residues to be scored. True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.scoring.LoadSSAgreementScorer">
-<code class="descclassname">promod3.scoring.</code><code class="descname">LoadSSAgreementScorer</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.LoadSSAgreementScorer" 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 default predefined structure agreement scorer (loaded from disk)</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.scoring.SSAgreementScorer" title="promod3.scoring.SSAgreementScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">SSAgreementScorer</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.scoring.LoadSSAgreementScorer">
+<span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">LoadSSAgreementScorer</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.LoadSSAgreementScorer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The default predefined structure agreement scorer (loaded from disk)</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.scoring.SSAgreementScorer" title="promod3.scoring.SSAgreementScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">SSAgreementScorer</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="torsionscorer-class">
-<h2>TorsionScorer class<a class="headerlink" href="#torsionscorer-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.scoring.TorsionScorer">
-<em class="property">class </em><code class="descclassname">promod3.scoring.</code><code class="descname">TorsionScorer</code><span class="sig-paren">(</span><em>group_definitions</em>, <em>torsion_bins</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.TorsionScorer" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="torsionscorer-class">
+<h2>TorsionScorer class<a class="headerlink" href="#torsionscorer-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.scoring.TorsionScorer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">TorsionScorer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">group_definitions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">torsion_bins</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.TorsionScorer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Inherits all functionality of <a class="reference internal" href="#promod3.scoring.BackboneScorer" title="promod3.scoring.BackboneScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScorer</span></code></a>. Evaluates pseudo
 energies based on the identity of three consecutive residues and the phi/psi
 dihedral angles of the central residue. The first phi and last psi angle get
@@ -1139,190 +1016,167 @@ determined with the help of the environment if set.</p>
 <p>The scorer needs to be initialized either by loading a predefined scorer (e.g.
 <a class="reference internal" href="#promod3.scoring.LoadTorsionScorer" title="promod3.scoring.LoadTorsionScorer"><code class="xref py py-func docutils literal notranslate"><span class="pre">LoadTorsionScorer()</span></code></a>) or by setting all energies (see <a class="reference internal" href="#promod3.scoring.TorsionScorer.SetEnergy" title="promod3.scoring.TorsionScorer.SetEnergy"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SetEnergy()</span></code></a>)
 for each group definition.</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>group_definitions</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – List of group definitions defining amino acid
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>group_definitions</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – List of group definitions defining amino acid
 triplets (same style as used in the
-<a class="reference internal" href="../loop/torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a> class).</li>
-<li><strong>torsion_bins</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of equally sized bins to discretize the torsion
-angles (range of [0, 2*pi]).</li>
+<a class="reference internal" href="../loop/torsion_sampler.html#promod3.loop.TorsionSampler" title="promod3.loop.TorsionSampler"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionSampler</span></code></a> class).</p></li>
+<li><p><strong>torsion_bins</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Number of equally sized bins to discretize the torsion
+angles (range of [0, 2*pi]).</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>torsion_bins</em> &lt; 1 or if there is
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>torsion_bins</em> &lt; 1 or if there is
 a possible combination of the 20 standard amino acids not matching
 any entry of <em>group_definitions</em></p>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="staticmethod">
-<dt id="promod3.scoring.TorsionScorer.Load">
-<em class="property">static </em><code class="descname">Load</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.TorsionScorer.Load" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.scoring.TorsionScorer.LoadPortable">
-<em class="property">static </em><code class="descname">LoadPortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.TorsionScorer.LoadPortable" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.TorsionScorer.Load">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.TorsionScorer.Load" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.scoring.TorsionScorer.LoadPortable">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LoadPortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.TorsionScorer.LoadPortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Loads raw binary file generated with <a class="reference internal" href="#promod3.scoring.TorsionScorer.Save" title="promod3.scoring.TorsionScorer.Save"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Save()</span></code></a> (optimized for fast
 reading) / portable file generated with <a class="reference internal" href="#promod3.scoring.TorsionScorer.SavePortable" title="promod3.scoring.TorsionScorer.SavePortable"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SavePortable()</span></code></a> (slower but
 less machine-dependent).</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The loaded scorer</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.scoring.TorsionScorer" title="promod3.scoring.TorsionScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionScorer</span></code></a></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
-file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The loaded scorer</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.scoring.TorsionScorer" title="promod3.scoring.TorsionScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionScorer</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
+file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.TorsionScorer.Save">
-<code class="descname">Save</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.TorsionScorer.Save" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.scoring.TorsionScorer.SavePortable">
-<code class="descname">SavePortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.TorsionScorer.SavePortable" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.TorsionScorer.Save">
+<span class="sig-name descname"><span class="pre">Save</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.TorsionScorer.Save" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.scoring.TorsionScorer.SavePortable">
+<span class="sig-name descname"><span class="pre">SavePortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.TorsionScorer.SavePortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Saves a raw / portable binary representation. Use portable files for
 distribution and convert locally to raw files. See <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a>
 for details.</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.TorsionScorer.SetEnergy">
-<code class="descname">SetEnergy</code><span class="sig-paren">(</span><em>group_idx</em>, <em>phi_bin</em>, <em>psi_bin</em>, <em>energy</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.TorsionScorer.SetEnergy" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.TorsionScorer.SetEnergy">
+<span class="sig-name descname"><span class="pre">SetEnergy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">group_idx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">phi_bin</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi_bin</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">energy</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.TorsionScorer.SetEnergy" title="Permalink to this definition">¶</a></dt>
 <dd><p>Setup one energy value. Unless a predefined scorer is loaded, this must be
 called for every <em>group_idx</em> &lt; len(<em>group_definitions</em>), every <em>phi_bin</em> &lt;
 <em>torsion_bins</em> and every <em>psi_bin</em> &lt; <em>torsion_bins</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>group_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of group definition as set in constructor with
-numbering starting at 0.</li>
-<li><strong>phi_bin</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the phi angle.</li>
-<li><strong>psi_bin</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the psi angle.</li>
-<li><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Energy to set for those parameters.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>group_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of group definition as set in constructor with
+numbering starting at 0.</p></li>
+<li><p><strong>phi_bin</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the phi angle.</p></li>
+<li><p><strong>psi_bin</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Discrete bin describing the psi angle.</p></li>
+<li><p><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Energy to set for those parameters.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if inputs are invalid</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if inputs are invalid</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.TorsionScorer.DoNormalize">
-<code class="descname">DoNormalize</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.TorsionScorer.DoNormalize" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
-of residues to be scored. True by default.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.TorsionScorer.DoNormalize">
+<span class="sig-name descname"><span class="pre">DoNormalize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.TorsionScorer.DoNormalize" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
+of residues to be scored. True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="function">
-<dt id="promod3.scoring.LoadTorsionScorer">
-<code class="descclassname">promod3.scoring.</code><code class="descname">LoadTorsionScorer</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.LoadTorsionScorer" 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 default predefined TorsionScorer (loaded from disk)</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.scoring.TorsionScorer" title="promod3.scoring.TorsionScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionScorer</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="promod3.scoring.LoadTorsionScorer">
+<span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">LoadTorsionScorer</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.LoadTorsionScorer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The default predefined TorsionScorer (loaded from disk)</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.scoring.TorsionScorer" title="promod3.scoring.TorsionScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">TorsionScorer</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="pairwisescorer-class">
-<h2>PairwiseScorer class<a class="headerlink" href="#pairwisescorer-class" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.scoring.PairwiseScorer">
-<em class="property">class </em><code class="descclassname">promod3.scoring.</code><code class="descname">PairwiseScorer</code><a class="headerlink" href="#promod3.scoring.PairwiseScorer" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="pairwisescorer-class">
+<h2>PairwiseScorer class<a class="headerlink" href="#pairwisescorer-class" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.scoring.PairwiseScorer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">PairwiseScorer</span></span><a class="headerlink" href="#promod3.scoring.PairwiseScorer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Inherits all functionality of <a class="reference internal" href="#promod3.scoring.BackboneScorer" title="promod3.scoring.BackboneScorer"><code class="xref py py-class docutils literal notranslate"><span class="pre">BackboneScorer</span></code></a>. Evaluates a list of
 generic pairwise functions (see <a class="reference internal" href="backbone_score_env.html#promod3.scoring.PairwiseFunction" title="promod3.scoring.PairwiseFunction"><code class="xref py py-class docutils literal notranslate"><span class="pre">PairwiseFunction</span></code></a>).
 That are set in the attached scoring environment
 (see <a class="reference internal" href="backbone_score_env.html#promod3.scoring.BackboneScoreEnv.ApplyPairwiseFunction" title="promod3.scoring.BackboneScoreEnv.ApplyPairwiseFunction"><code class="xref py py-meth docutils literal notranslate"><span class="pre">BackboneScoreEnv.ApplyPairwiseFunction()</span></code></a>).</p>
 <p>Note that for this scorer a higher “score” is better! So take care when
 combining this to other scores, where it is commonly the other way around.</p>
-<dl class="method">
-<dt id="promod3.scoring.PairwiseScorer.DoInternalScores">
-<code class="descname">DoInternalScores</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.PairwiseScorer.DoInternalScores" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions between
-the scored residues. True by default.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.PairwiseScorer.DoInternalScores">
+<span class="sig-name descname"><span class="pre">DoInternalScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.PairwiseScorer.DoInternalScores" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to include pairwise interactions between
+the scored residues. True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.PairwiseScorer.DoExternalScores">
-<code class="descname">DoExternalScores</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.PairwiseScorer.DoExternalScores" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>, true by default.) – Whether to include pairwise interactions of the scored
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.PairwiseScorer.DoExternalScores">
+<span class="sig-name descname"><span class="pre">DoExternalScores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.PairwiseScorer.DoExternalScores" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>, true by default.) – Whether to include pairwise interactions of the scored
 residues towards the surrounding environment.
-True by default.</td>
-</tr>
-</tbody>
-</table>
+True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.PairwiseScorer.DoNormalize">
-<code class="descname">DoNormalize</code><span class="sig-paren">(</span><em>do_it</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.PairwiseScorer.DoNormalize" 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>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
-of residues to be scored. True by default.</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.PairwiseScorer.DoNormalize">
+<span class="sig-name descname"><span class="pre">DoNormalize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">do_it</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.PairwiseScorer.DoNormalize" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>do_it</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether to normalize the calculated scores by the number
+of residues to be scored. True by default.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -1343,12 +1197,12 @@ of residues to be scored. True by default.</td>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -1365,7 +1219,7 @@ of residues to be scored. True by default.</td>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a><ul>
       <li>Previous: <a href="backbone_score_env.html" title="previous chapter">Backbone Score Environment</a></li>
       <li>Next: <a href="all_atom_scorers.html" title="next chapter">All Atom Scorers</a></li>
   </ul></li>
@@ -1374,27 +1228,33 @@ of residues to be scored. True by default.</td>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/scoring/backbone_scorers.rst.txt"
diff --git a/doc/html/scoring/index.html b/doc/html/scoring/index.html
index 070c044134c9af6ee0786c3debe00527e6e54c7f..63e69a369d443f5e0011179a1c183abdf4e3a732 100644
--- a/doc/html/scoring/index.html
+++ b/doc/html/scoring/index.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>scoring - Loop Scoring &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>scoring - Loop Scoring &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Backbone Score Environment" href="backbone_score_env.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,10 +31,12 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="module-promod3.scoring">
-<span id="scoring-loop-scoring"></span><h1><a class="reference internal" href="#module-promod3.scoring" title="promod3.scoring: Loop Scoring"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code></a> - Loop Scoring<a class="headerlink" href="#module-promod3.scoring" title="Permalink to this headline">¶</a></h1>
+  <section id="module-promod3.scoring">
+<span id="scoring-loop-scoring"></span><h1><a class="reference internal" href="#module-promod3.scoring" title="promod3.scoring: Loop Scoring"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code></a> - Loop Scoring<a class="headerlink" href="#module-promod3.scoring" title="Permalink to this heading">¶</a></h1>
 <p>Tools and algorithms to score loops. The scoring system is split between an
 environment and scorers.
 Several scorers can be attached to the same environment containing the
@@ -42,8 +45,8 @@ The environment is updated as the modelling proceeds and manages efficient
 spatial lookups to be used by the attached scorers.</p>
 <p>In this example, we load a structure, setup a score environment, link a few
 scorers to it and finally score some loops:</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">import</span> <span class="n">io</span><span class="p">,</span> <span class="n">seq</span>
-<span class="kn">from</span> <span class="nn">promod3</span> <span class="k">import</span> <span class="n">loop</span><span class="p">,</span> <span class="n">scoring</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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">seq</span>
+<span class="kn">from</span> <span class="nn">promod3</span> <span class="kn">import</span> <span class="n">loop</span><span class="p">,</span> <span class="n">scoring</span>
 
 <span class="c1"># load data</span>
 <span class="n">ent</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="s2">&quot;data/1CRN.pdb&quot;</span><span class="p">)</span>
@@ -102,10 +105,11 @@ scorers to it and finally score some loops:</p>
 </li>
 </ul>
 </div>
-</div>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -126,12 +130,12 @@ scorers to it and finally score some loops:</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -155,27 +159,33 @@ scorers to it and finally score some loops:</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/scoring/index.rst.txt"
diff --git a/doc/html/scoring/other_scoring_functions.html b/doc/html/scoring/other_scoring_functions.html
index f9440a12361bd8b8a36a03957e004fe76d7eb989..d22ffeba0e5a4ca254cd000536e7e7052c4b3303 100644
--- a/doc/html/scoring/other_scoring_functions.html
+++ b/doc/html/scoring/other_scoring_functions.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Other Scoring Functions &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Other Scoring Functions &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="loop - Loop Handling" href="../loop/index.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,79 +31,74 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="other-scoring-functions">
-<h1>Other Scoring Functions<a class="headerlink" href="#other-scoring-functions" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="scoring-functions-from-scwrl3">
-<h2>Scoring Functions from SCWRL3<a class="headerlink" href="#scoring-functions-from-scwrl3" title="Permalink to this headline">¶</a></h2>
-<dl class="method">
-<dt id="promod3.scoring.SCWRL3PairwiseScore">
-<code class="descclassname">promod3.scoring.</code><code class="descname">SCWRL3PairwiseScore</code><span class="sig-paren">(</span><em>d</em>, <em>Rij</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.SCWRL3PairwiseScore" title="Permalink to this definition">¶</a></dt>
+  <section id="other-scoring-functions">
+<h1>Other Scoring Functions<a class="headerlink" href="#other-scoring-functions" title="Permalink to this heading">¶</a></h1>
+<section id="scoring-functions-from-scwrl3">
+<h2>Scoring Functions from SCWRL3<a class="headerlink" href="#scoring-functions-from-scwrl3" title="Permalink to this heading">¶</a></h2>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.SCWRL3PairwiseScore">
+<span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">SCWRL3PairwiseScore</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">d</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Rij</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.SCWRL3PairwiseScore" title="Permalink to this definition">¶</a></dt>
 <dd><p>Pairwise score from the SCWRL3 sidechain construction algorithm
-<a class="reference internal" href="../references.html#canutescu2003b" id="id1">[canutescu2003b]</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 simple">
-<li><strong>d</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Distance between the two interacting particles</li>
-<li><strong>Rij</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – <p>Summed hard-sphere radii of the interacting particles.
+<a class="reference internal" href="../references.html#canutescu2003b" id="id1"><span>[canutescu2003b]</span></a>.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>d</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Distance between the two interacting particles</p></li>
+<li><p><strong>Rij</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – <p>Summed hard-sphere radii of the interacting particles.
 Suggestions from the paper:</p>
 <ul>
-<li>carbon: 1.6</li>
-<li>oxygen: 1.3</li>
-<li>nitrogen: 1.3</li>
-<li>sulfur: 1.7</li>
+<li><p>carbon: 1.6</p></li>
+<li><p>oxygen: 1.3</p></li>
+<li><p>nitrogen: 1.3</p></li>
+<li><p>sulfur: 1.7</p></li>
 </ul>
-</li>
+</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The score</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="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The score</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.scoring.SCWRL3DisulfidScore">
-<code class="descclassname">promod3.scoring.</code><code class="descname">SCWRL3DisulfidScore</code><span class="sig-paren">(</span><em>ca_pos_one</em>, <em>cb_pos_one</em>, <em>sg_pos_one                              ca_pos_two</em>, <em>cb_pos_two</em>, <em>sg_pos_two</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.SCWRL3DisulfidScore" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.scoring.SCWRL3DisulfidScore">
+<span class="sig-prename descclassname"><span class="pre">promod3.scoring.</span></span><span class="sig-name descname"><span class="pre">SCWRL3DisulfidScore</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ca_pos_one</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cb_pos_one</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sg_pos_one</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="pre">ca_pos_two</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cb_pos_two</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sg_pos_two</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.scoring.SCWRL3DisulfidScore" title="Permalink to this definition">¶</a></dt>
 <dd><p>Implements the empirically derived disulfid score from the SCWRL3 sidechain
-construction algorithm <a class="reference internal" href="../references.html#canutescu2003b" id="id2">[canutescu2003b]</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 simple">
-<li><strong>ca_pos_one</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geoom.Vec3</span></code>) – CA carbon position of first amino acid</li>
-<li><strong>cb_pos_one</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geoom.Vec3</span></code>) – CB carbon position of first amino acid</li>
-<li><strong>sg_pos_one</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geoom.Vec3</span></code>) – SG sulfur position of first amino acid</li>
-<li><strong>ca_pos_two</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geoom.Vec3</span></code>) – CA carbon position of second amino acid</li>
-<li><strong>cb_pos_two</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geoom.Vec3</span></code>) – CB carbon position of second amino acid</li>
-<li><strong>sg_pos_two</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geoom.Vec3</span></code>) – SG sulfur position of second amino acid</li>
+construction algorithm <a class="reference internal" href="../references.html#canutescu2003b" id="id2"><span>[canutescu2003b]</span></a>.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>ca_pos_one</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geoom.Vec3</span></code>) – CA carbon position of first amino acid</p></li>
+<li><p><strong>cb_pos_one</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geoom.Vec3</span></code>) – CB carbon position of first amino acid</p></li>
+<li><p><strong>sg_pos_one</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geoom.Vec3</span></code>) – SG sulfur position of first amino acid</p></li>
+<li><p><strong>ca_pos_two</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geoom.Vec3</span></code>) – CA carbon position of second amino acid</p></li>
+<li><p><strong>cb_pos_two</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geoom.Vec3</span></code>) – CB carbon position of second amino acid</p></li>
+<li><p><strong>sg_pos_two</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geoom.Vec3</span></code>) – SG sulfur position of second amino acid</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The score</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="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The score</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -123,12 +119,12 @@ construction algorithm <a class="reference internal" href="../references.html#ca
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -145,36 +141,42 @@ construction algorithm <a class="reference internal" href="../references.html#ca
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a><ul>
       <li>Previous: <a href="all_atom_scorers.html" title="previous chapter">All Atom Scorers</a></li>
-      <li>Next: <a href="../loop/index.html" title="next chapter"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+      <li>Next: <a href="../loop/index.html" title="next chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
   </ul></li>
   </ul></li>
   </ul></li>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/scoring/other_scoring_functions.rst.txt"
diff --git a/doc/html/search.html b/doc/html/search.html
index 19e3491e8fbfe5a323d608623eb91895542be903..b596faecc78c978acc065d525d85bca47ee93906 100644
--- a/doc/html/search.html
+++ b/doc/html/search.html
@@ -1,33 +1,30 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Search &#8212; ProMod3 3.3.1 documentation</title>
-    <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
-    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <title>Search &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
     
-    <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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>
-    <script type="text/javascript" src="_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
-    <script type="text/javascript" src="_static/searchtools.js"></script>
+    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+    <script src="_static/jquery.js"></script>
+    <script src="_static/underscore.js"></script>
+    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="_static/doctools.js"></script>
+    <script src="_static/sphinx_highlight.js"></script>
+    <script src="_static/searchtools.js"></script>
+    <script src="_static/language_data.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="#" />
-  <script type="text/javascript">
-    jQuery(function() { Search.loadIndex("searchindex.js"); });
-  </script>
-  
-  <script type="text/javascript" id="searchindexloader"></script>
+  <script src="searchindex.js" defer></script>
   
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
 
@@ -37,33 +34,43 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
   <h1 id="search-documentation">Search</h1>
-  <div id="fallback" class="admonition warning">
-  <script type="text/javascript">$('#fallback').hide();</script>
+  
+  <noscript>
+  <div class="admonition warning">
   <p>
     Please activate JavaScript to enable the search
     functionality.
   </p>
   </div>
+  </noscript>
+  
+  
   <p>
-    From here you can search these documents. Enter your search
-    words into the box below and click "search". Note that the search
-    function will automatically search for all of the words. Pages
-    containing fewer words won't appear in the result list.
+    Searching for multiple words only shows matches that contain
+    all words.
   </p>
+  
+  
   <form action="" method="get">
-    <input type="text" name="q" value="" />
+    <input type="text" name="q" aria-labelledby="search-documentation" value="" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
     <input type="submit" value="search" />
     <span id="search-progress" style="padding-left: 10px"></span>
   </form>
   
+  
+  
   <div id="search-results">
   
   </div>
+  
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -95,16 +102,24 @@
   </ul></li>
 </ul>
 </div>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
     </div>
 
diff --git a/doc/html/searchindex.js b/doc/html/searchindex.js
index dcab7f12ef364767ed2eee252bde6744f56332ee..ebe71cbfa6341b86379eb9a29351ad128a5685bb 100644
--- a/doc/html/searchindex.js
+++ b/doc/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["actions/index","actions/index_dev","buildsystem","changelog","cmake/index","container/docker","container/index","container/singularity","contributing","core/geometry","core/graph_minimizer","core/helper","core/index","core/pm3argparse","core/runtime_profiling","core/setcompoundschemlib","dev_setup","developers","gettingstarted","index","license","loop/all_atom","loop/backbone","loop/index","loop/load_loop_objects","loop/mm_system_creation","loop/structure_db","loop/torsion_sampler","modelling/algorithms","modelling/gap_handling","modelling/index","modelling/loop_candidates","modelling/loop_closing","modelling/model_checking","modelling/monte_carlo","modelling/pipeline","modelling/sidechain_reconstruction","portableIO","references","scoring/all_atom_scorers","scoring/backbone_score_env","scoring/backbone_scorers","scoring/index","scoring/other_scoring_functions","sidechain/disulfid","sidechain/frame","sidechain/graph","sidechain/index","sidechain/loading","sidechain/rotamer","sidechain/rotamer_constructor","sidechain/rotamer_lib","sidechain/subrotamer_optimizer","user_contributions","users"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,"sphinx.ext.todo":1,sphinx:55},filenames:["actions/index.rst","actions/index_dev.rst","buildsystem.rst","changelog.rst","cmake/index.rst","container/docker.rst","container/index.rst","container/singularity.rst","contributing.rst","core/geometry.rst","core/graph_minimizer.rst","core/helper.rst","core/index.rst","core/pm3argparse.rst","core/runtime_profiling.rst","core/setcompoundschemlib.rst","dev_setup.rst","developers.rst","gettingstarted.rst","index.rst","license.rst","loop/all_atom.rst","loop/backbone.rst","loop/index.rst","loop/load_loop_objects.rst","loop/mm_system_creation.rst","loop/structure_db.rst","loop/torsion_sampler.rst","modelling/algorithms.rst","modelling/gap_handling.rst","modelling/index.rst","modelling/loop_candidates.rst","modelling/loop_closing.rst","modelling/model_checking.rst","modelling/monte_carlo.rst","modelling/pipeline.rst","modelling/sidechain_reconstruction.rst","portableIO.rst","references.rst","scoring/all_atom_scorers.rst","scoring/backbone_score_env.rst","scoring/backbone_scorers.rst","scoring/index.rst","scoring/other_scoring_functions.rst","sidechain/disulfid.rst","sidechain/frame.rst","sidechain/graph.rst","sidechain/index.rst","sidechain/loading.rst","sidechain/rotamer.rst","sidechain/rotamer_constructor.rst","sidechain/rotamer_lib.rst","sidechain/subrotamer_optimizer.rst","user_contributions.rst","users.rst"],objects:{"":{"--backbone-independent":[0,7,1,"cmdoption-i"],"--energy_function":[0,7,1,"cmdoption-f"],"--keep-sidechains":[0,7,1,"cmdoption-k"],"--no-disulfids":[0,7,1,"cmdoption-n"],"--no-subrotamer-optimization":[0,7,1,"cmdoption-s"],"--rigid-rotamers":[0,7,1,"cmdoption-r"],"-f":[0,7,1,"cmdoption-f"],"-i":[0,7,1,"cmdoption-i"],"-k":[0,7,1,"cmdoption-k"],"-n":[0,7,1,"cmdoption-n"],"-r":[0,7,1,"cmdoption-r"],"-s":[0,7,1,"cmdoption-s"],"command:add_doc_dependency":[4,0,1,""],"command:add_doc_source":[4,0,1,""],"command:convert_module_data":[4,0,1,""],"command:module":[4,0,1,""],"command:pm_action":[4,0,1,""],"command:promod3_unittest":[4,0,1,""],"command:pymod":[4,0,1,""],test_actions:[1,2,0,"-"]},"promod3.core":{ConstructAtomPos:[9,1,1,""],ConstructCBetaPos:[9,1,1,""],ConstructCTerminalOxygens:[9,1,1,""],EvaluateGromacsPosRule:[9,1,1,""],GraphMinimizer:[10,3,1,""],RotationAroundLine:[9,1,1,""],StaticRuntimeProfiler:[14,3,1,""],StemCoords:[9,3,1,""],StemPairOrientation:[9,3,1,""],helper:[11,2,0,"-"],pm3argparse:[13,2,0,"-"]},"promod3.core.GraphMinimizer":{AStarSolve:[10,4,1,""],AddEdge:[10,4,1,""],AddNode:[10,4,1,""],ApplyDEE:[10,4,1,""],ApplyEdgeDecomposition:[10,4,1,""],MCSolve:[10,4,1,""],NaiveSolve:[10,4,1,""],Prune:[10,4,1,""],Reset:[10,4,1,""],TreeSolve:[10,4,1,""]},"promod3.core.StaticRuntimeProfiler":{Clear:[14,5,1,""],IsEnabled:[14,5,1,""],PrintSummary:[14,5,1,""],Start:[14,5,1,""],StartScoped:[14,5,1,""],Stop:[14,5,1,""]},"promod3.core.StemCoords":{c_coord:[9,6,1,""],ca_coord:[9,6,1,""],n_coord:[9,6,1,""]},"promod3.core.StemPairOrientation":{angle_four:[9,6,1,""],angle_one:[9,6,1,""],angle_three:[9,6,1,""],angle_two:[9,6,1,""],distance:[9,6,1,""]},"promod3.core.helper":{FileExists:[11,1,1,""],FileExtension:[11,1,1,""],FileGzip:[11,1,1,""],MsgErrorAndExit:[11,1,1,""]},"promod3.core.pm3argparse":{PM3ArgumentParser:[13,3,1,""]},"promod3.core.pm3argparse.PM3ArgumentParser":{AddAlignment:[13,4,1,""],AddFragments:[13,4,1,""],AddProfile:[13,4,1,""],AddStructure:[13,4,1,""],AssembleParser:[13,4,1,""],Parse:[13,4,1,""],__init__:[13,4,1,""],action:[13,6,1,""]},"promod3.loop":{AllAtomEnv:[21,3,1,""],AllAtomEnvPositions:[21,3,1,""],AllAtomPositions:[21,3,1,""],AminoAcidAtom:[21,3,1,""],AminoAcidHydrogen:[21,3,1,""],AminoAcidLookup:[21,3,1,""],BackboneList:[22,3,1,""],CoordInfo:[26,3,1,""],ForcefieldAminoAcid:[25,3,1,""],ForcefieldBondInfo:[25,3,1,""],ForcefieldConnectivity:[25,3,1,""],ForcefieldHarmonicAngleInfo:[25,3,1,""],ForcefieldHarmonicImproperInfo:[25,3,1,""],ForcefieldLJPairInfo:[25,3,1,""],ForcefieldLookup:[25,3,1,""],ForcefieldPeriodicDihedralInfo:[25,3,1,""],ForcefieldUreyBradleyAngleInfo:[25,3,1,""],FragDB:[26,3,1,""],Fragger:[26,3,1,""],FraggerMap:[26,3,1,""],FragmentInfo:[26,3,1,""],LoadFragDB:[24,4,1,""],LoadStructureDB:[24,4,1,""],LoadTorsionSampler:[24,4,1,""],LoadTorsionSamplerCoil:[24,4,1,""],LoadTorsionSamplerExtended:[24,4,1,""],LoadTorsionSamplerHelical:[24,4,1,""],MmSystemCreator:[25,3,1,""],PsipredPrediction:[26,3,1,""],StructureDB:[26,3,1,""],StructureDBDataType:[26,3,1,""],TorsionSampler:[27,3,1,""]},"promod3.loop.AllAtomEnv":{ClearEnvironment:[21,4,1,""],GetAllAtomPositions:[21,4,1,""],GetEnvironment:[21,4,1,""],GetSeqres:[21,4,1,""],SetEnvironment:[21,4,1,""],SetInitialEnvironment:[21,4,1,""]},"promod3.loop.AllAtomEnvPositions":{all_pos:[21,6,1,""],res_indices:[21,6,1,""]},"promod3.loop.AllAtomPositions":{AllAtomPositions:[21,4,1,""],ClearPos:[21,4,1,""],ClearResidue:[21,4,1,""],Copy:[21,4,1,""],Extract:[21,4,1,""],ExtractBackbone:[21,4,1,""],GetAA:[21,4,1,""],GetFirstIndex:[21,4,1,""],GetIndex:[21,4,1,""],GetLastIndex:[21,4,1,""],GetNumAtoms:[21,4,1,""],GetNumResidues:[21,4,1,""],GetOmegaTorsion:[21,4,1,""],GetPhiTorsion:[21,4,1,""],GetPos:[21,4,1,""],GetPsiTorsion:[21,4,1,""],GetSequence:[21,4,1,""],InsertInto:[21,4,1,""],IsAllSet:[21,4,1,""],IsAnySet:[21,4,1,""],IsSet:[21,4,1,""],SetPos:[21,4,1,""],SetResidue:[21,4,1,""],ToEntity:[21,4,1,""]},"promod3.loop.AminoAcidLookup":{GetAA:[21,5,1,""],GetAAA:[21,5,1,""],GetAAH:[21,5,1,""],GetAnchorAtomIndex:[21,5,1,""],GetAtomName:[21,5,1,""],GetAtomNameAmber:[21,5,1,""],GetAtomNameCharmm:[21,5,1,""],GetElement:[21,5,1,""],GetH1Index:[21,5,1,""],GetH2Index:[21,5,1,""],GetH3Index:[21,5,1,""],GetHNIndex:[21,5,1,""],GetHydrogenIndex:[21,5,1,""],GetIndex:[21,5,1,""],GetMaxNumAtoms:[21,5,1,""],GetMaxNumHydrogens:[21,5,1,""],GetNumAtoms:[21,5,1,""],GetNumHydrogens:[21,5,1,""],GetOLC:[21,5,1,""]},"promod3.loop.BackboneList":{ApplyTransform:[22,4,1,""],BackboneList:[22,4,1,""],CARMSD:[22,4,1,""],Copy:[22,4,1,""],Extract:[22,4,1,""],GetAA:[22,4,1,""],GetBounds:[22,4,1,""],GetC:[22,4,1,""],GetCA:[22,4,1,""],GetCB:[22,4,1,""],GetN:[22,4,1,""],GetO:[22,4,1,""],GetOLC:[22,4,1,""],GetOmegaTorsion:[22,4,1,""],GetPhiTorsion:[22,4,1,""],GetPsiTorsion:[22,4,1,""],GetSequence:[22,4,1,""],GetTransform:[22,4,1,""],InsertInto:[22,4,1,""],MinCADistance:[22,4,1,""],RMSD:[22,4,1,""],ReconstructCBetaPositions:[22,4,1,""],ReconstructCStemOxygen:[22,4,1,""],ReconstructOxygenPositions:[22,4,1,""],ReplaceFragment:[22,4,1,""],RotateAroundOmegaTorsion:[22,4,1,""],RotateAroundPhiPsiTorsion:[22,4,1,""],RotateAroundPhiTorsion:[22,4,1,""],RotateAroundPsiTorsion:[22,4,1,""],Set:[22,4,1,""],SetAA:[22,4,1,""],SetAroundOmegaTorsion:[22,4,1,""],SetAroundPhiPsiTorsion:[22,4,1,""],SetAroundPhiTorsion:[22,4,1,""],SetAroundPsiTorsion:[22,4,1,""],SetBackrub:[22,4,1,""],SetC:[22,4,1,""],SetCA:[22,4,1,""],SetCB:[22,4,1,""],SetN:[22,4,1,""],SetO:[22,4,1,""],SetOLC:[22,4,1,""],SetSequence:[22,4,1,""],SuperposeOnto:[22,4,1,""],ToDensity:[22,4,1,""],ToEntity:[22,4,1,""],TransOmegaTorsions:[22,4,1,""],__len__:[22,4,1,""],append:[22,4,1,""],clear:[22,4,1,""],empty:[22,4,1,""],resize:[22,4,1,""]},"promod3.loop.CoordInfo":{chain_name:[26,6,1,""],id:[26,6,1,""],offset:[26,6,1,""],shift:[26,6,1,""],size:[26,6,1,""],start_resnum:[26,6,1,""]},"promod3.loop.ForcefieldBondInfo":{bond_length:[25,6,1,""],force_constant:[25,6,1,""],index_one:[25,6,1,""],index_two:[25,6,1,""]},"promod3.loop.ForcefieldConnectivity":{harmonic_angles:[25,6,1,""],harmonic_bonds:[25,6,1,""],harmonic_impropers:[25,6,1,""],lj_pairs:[25,6,1,""],periodic_dihedrals:[25,6,1,""],periodic_impropers:[25,6,1,""],urey_bradley_angles:[25,6,1,""]},"promod3.loop.ForcefieldHarmonicAngleInfo":{angle:[25,6,1,""],force_constant:[25,6,1,""],index_one:[25,6,1,""],index_three:[25,6,1,""],index_two:[25,6,1,""]},"promod3.loop.ForcefieldHarmonicImproperInfo":{angle:[25,6,1,""],force_constant:[25,6,1,""],index_four:[25,6,1,""],index_one:[25,6,1,""],index_three:[25,6,1,""],index_two:[25,6,1,""]},"promod3.loop.ForcefieldLJPairInfo":{epsilon:[25,6,1,""],index_one:[25,6,1,""],index_two:[25,6,1,""],sigma:[25,6,1,""]},"promod3.loop.ForcefieldLookup":{GetAA:[25,4,1,""],GetCharges:[25,4,1,""],GetDefault:[25,5,1,""],GetDisulfidConnectivity:[25,4,1,""],GetEpsilons:[25,4,1,""],GetFudgeLJ:[25,4,1,""],GetFudgeQQ:[25,4,1,""],GetHeavyIndex:[25,4,1,""],GetHydrogenIndex:[25,4,1,""],GetInternalConnectivity:[25,4,1,""],GetMasses:[25,4,1,""],GetNumAtoms:[25,4,1,""],GetOXTIndex:[25,4,1,""],GetPeptideBoundConnectivity:[25,4,1,""],GetSigmas:[25,4,1,""],Load:[25,5,1,""],LoadCHARMM:[25,5,1,""],LoadPortable:[25,5,1,""],Save:[25,4,1,""],SavePortable:[25,4,1,""],SetCharges:[25,4,1,""],SetDefault:[25,5,1,""],SetDisulfidConnectivity:[25,4,1,""],SetEpsilons:[25,4,1,""],SetFudgeLJ:[25,4,1,""],SetFudgeQQ:[25,4,1,""],SetInternalConnectivity:[25,4,1,""],SetMasses:[25,4,1,""],SetPeptideBoundConnectivity:[25,4,1,""],SetSigmas:[25,4,1,""]},"promod3.loop.ForcefieldPeriodicDihedralInfo":{force_constant:[25,6,1,""],index_four:[25,6,1,""],index_one:[25,6,1,""],index_three:[25,6,1,""],index_two:[25,6,1,""],multiplicity:[25,6,1,""],phase:[25,6,1,""]},"promod3.loop.ForcefieldUreyBradleyAngleInfo":{angle:[25,6,1,""],angle_force_constant:[25,6,1,""],bond_force_constant:[25,6,1,""],bond_length:[25,6,1,""],index_one:[25,6,1,""],index_three:[25,6,1,""],index_two:[25,6,1,""]},"promod3.loop.FragDB":{AddFragments:[26,4,1,""],GetAngularBinSize:[26,4,1,""],GetDistBinSize:[26,4,1,""],GetNumFragments:[26,4,1,""],GetNumStemPairs:[26,4,1,""],HasFragLength:[26,4,1,""],Load:[26,5,1,""],LoadPortable:[26,5,1,""],MaxFragLength:[26,4,1,""],PrintStatistics:[26,4,1,""],Save:[26,4,1,""],SavePortable:[26,4,1,""],SearchDB:[26,4,1,""]},"promod3.loop.Fragger":{AddSSAgreeParameters:[26,4,1,""],AddSeqIDParameters:[26,4,1,""],AddSeqSimParameters:[26,4,1,""],AddSequenceProfileParameters:[26,4,1,""],AddStructureProfileParameters:[26,4,1,""],AddTorsionProbabilityParameters:[26,4,1,""],Fill:[26,4,1,""],GetFragmentInfo:[26,4,1,""],GetScore:[26,4,1,""],__getitem__:[26,4,1,""],__len__:[26,4,1,""]},"promod3.loop.FraggerMap":{Contains:[26,4,1,""],Load:[26,4,1,""],LoadBB:[26,4,1,""],Save:[26,4,1,""],SaveBB:[26,4,1,""],__getitem__:[26,4,1,""],__setitem__:[26,4,1,""]},"promod3.loop.FragmentInfo":{chain_index:[26,6,1,""],length:[26,6,1,""],offset:[26,6,1,""]},"promod3.loop.MmSystemCreator":{ExtractLoopPositions:[25,4,1,""],GetCpuPlatformSupport:[25,4,1,""],GetDisulfidBridges:[25,4,1,""],GetForcefieldAminoAcids:[25,4,1,""],GetIndexing:[25,4,1,""],GetLoopLengths:[25,4,1,""],GetLoopStartIndices:[25,4,1,""],GetNumLoopResidues:[25,4,1,""],GetNumResidues:[25,4,1,""],GetSimulation:[25,4,1,""],SetCpuPlatformSupport:[25,4,1,""],SetupSystem:[25,4,1,""],UpdatePositions:[25,4,1,""]},"promod3.loop.PsipredPrediction":{Add:[26,4,1,""],Extract:[26,4,1,""],FromHHM:[26,4,1,""],FromHoriz:[26,4,1,""],GetConfidence:[26,4,1,""],GetConfidences:[26,4,1,""],GetPrediction:[26,4,1,""],GetPredictions:[26,4,1,""],PsipredPrediction:[26,4,1,""],__len__:[26,4,1,""]},"promod3.loop.StructureDB":{AddCoordinates:[26,4,1,""],GenerateStructureProfile:[26,4,1,""],GetBackboneList:[26,4,1,""],GetCoordIdx:[26,4,1,""],GetCoordInfo:[26,4,1,""],GetDSSPStates:[26,4,1,""],GetDihedralAngles:[26,4,1,""],GetNumCoords:[26,4,1,""],GetResidueDepths:[26,4,1,""],GetSequence:[26,4,1,""],GetSequenceProfile:[26,4,1,""],GetSolventAccessibilitites:[26,4,1,""],GetStructureProfile:[26,4,1,""],GetSubDB:[26,4,1,""],HasData:[26,4,1,""],Load:[26,5,1,""],LoadPortable:[26,5,1,""],PrintStatistics:[26,4,1,""],RemoveCoordinates:[26,4,1,""],Save:[26,4,1,""],SavePortable:[26,4,1,""],SetStructureProfile:[26,4,1,""]},"promod3.loop.TorsionSampler":{Draw:[27,4,1,""],DrawPhiGivenPsi:[27,4,1,""],DrawPsiGivenPhi:[27,4,1,""],ExtractStatistics:[27,4,1,""],GetBinSize:[27,4,1,""],GetBinsPerDimension:[27,4,1,""],GetHistogramIndex:[27,4,1,""],GetHistogramIndices:[27,4,1,""],GetPhiProbabilityGivenPsi:[27,4,1,""],GetProbability:[27,4,1,""],GetPsiProbabilityGivenPhi:[27,4,1,""],Load:[27,5,1,""],LoadPortable:[27,5,1,""],Save:[27,4,1,""],SavePortable:[27,4,1,""],UpdateDistributions:[27,4,1,""]},"promod3.modelling":{AFDBModel:[28,1,1,""],AFDBTPLSearch:[28,1,1,""],AddModellingIssue:[35,1,1,""],AllAtomRelaxer:[32,3,1,""],BackboneRelaxer:[32,3,1,""],BuildFromRawModel:[35,1,1,""],BuildRawModel:[35,1,1,""],BuildSidechains:[35,1,1,""],CCD:[32,3,1,""],CCDCloser:[34,3,1,""],CTerminalCloser:[34,3,1,""],CheckFinalModel:[35,1,1,""],ClearGaps:[29,1,1,""],CloseGaps:[35,1,1,""],CloseLargeDeletions:[35,1,1,""],CloseSmallDeletions:[35,1,1,""],CloserBase:[34,3,1,""],CoolerBase:[34,3,1,""],CountEnclosedGaps:[29,1,1,""],CountEnclosedInsertions:[29,1,1,""],DeNovoCloser:[34,3,1,""],DeleteGapCols:[35,1,1,""],DirtyCCDCloser:[34,3,1,""],ExponentialCooler:[34,3,1,""],FSStructureServer:[28,3,1,""],FillLoopsByDatabase:[35,1,1,""],FillLoopsByMonteCarlo:[35,1,1,""],FilterCandidates:[33,1,1,""],FilterCandidatesWithSC:[33,1,1,""],FindMotifs:[28,4,1,""],FraggerHandle:[28,3,1,""],FragmentSampler:[34,3,1,""],FullGapExtender:[29,3,1,""],GapExtender:[29,3,1,""],GenerateDeNovoTrajectories:[28,1,1,""],GetNonPlanarRings:[33,1,1,""],GetRingPunches:[33,1,1,""],GetRings:[33,1,1,""],HasNonPlanarRings:[33,1,1,""],HasRingPunches:[33,1,1,""],InsertLoop:[35,1,1,""],InsertLoopClearGaps:[29,1,1,""],IsAllAtomScoringSetUp:[35,1,1,""],IsBackboneScoringSetUp:[35,1,1,""],KIC:[32,3,1,""],KICCloser:[34,3,1,""],LinearScorer:[34,3,1,""],LoopCandidates:[31,3,1,""],MergeGaps:[29,1,1,""],MergeGapsByDistance:[35,1,1,""],MergeMHandle:[35,1,1,""],MinimizeModelEnergy:[35,1,1,""],ModelTermini:[35,1,1,""],ModellingHandle:[35,3,1,""],ModellingIssue:[35,3,1,""],MotifMatch:[28,3,1,""],MotifQuery:[28,3,1,""],NTerminalCloser:[34,3,1,""],PentaMatch:[28,3,1,""],PhiPsiSampler:[34,3,1,""],PullTerminalDeletions:[35,1,1,""],ReconstructSidechains:[36,1,1,""],RemoveTerminalGaps:[35,1,1,""],ReorderGaps:[35,1,1,""],ReportMolProbityScores:[33,1,1,""],RigidBlocks:[28,4,1,""],RunMolProbity:[33,1,1,""],RunMolProbityEntity:[33,1,1,""],SampleMonteCarlo:[34,1,1,""],SamplerBase:[34,3,1,""],ScoreContainer:[31,3,1,""],ScorerBase:[34,3,1,""],ScoringGapExtender:[29,3,1,""],ScoringWeights:[31,3,1,""],SetFraggerHandles:[35,1,1,""],SetPsipredPredictions:[35,1,1,""],SetSequenceProfiles:[35,1,1,""],SetupDefaultAllAtomScoring:[35,1,1,""],SetupDefaultBackboneScoring:[35,1,1,""],ShiftExtension:[29,3,1,""],SidechainReconstructionData:[36,3,1,""],SidechainReconstructor:[36,3,1,""],SoftSampler:[34,3,1,""],StructuralGap:[29,3,1,""],StructuralGapList:[29,3,1,""]},"promod3.modelling.AllAtomRelaxer":{GetSystemCreator:[32,4,1,""],Run:[32,4,1,""],UpdatePositions:[32,4,1,""]},"promod3.modelling.BackboneRelaxer":{AddCARestraint:[32,4,1,""],AddCBRestraint:[32,4,1,""],AddCRestraint:[32,4,1,""],AddNRestraint:[32,4,1,""],AddORestraint:[32,4,1,""],GetNonBondedCutoff:[32,4,1,""],Run:[32,4,1,""],SetNonBondedCutoff:[32,4,1,""]},"promod3.modelling.CCD":{CCD:[32,4,1,""],Close:[32,4,1,""]},"promod3.modelling.CCDCloser":{Close:[34,4,1,""]},"promod3.modelling.CTerminalCloser":{Close:[34,4,1,""]},"promod3.modelling.CloserBase":{Close:[34,4,1,""]},"promod3.modelling.CoolerBase":{GetTemperature:[34,4,1,""],Reset:[34,4,1,""]},"promod3.modelling.DeNovoCloser":{Close:[34,4,1,""]},"promod3.modelling.DirtyCCDCloser":{Close:[34,4,1,""]},"promod3.modelling.ExponentialCooler":{GetTemperature:[34,4,1,""],Reset:[34,4,1,""]},"promod3.modelling.FSStructureServer":{FromDataChunks:[28,5,1,""],GetIdx:[28,4,1,""],GetOMF:[28,4,1,""],GetOMFByIdx:[28,4,1,""],chunk:[28,6,1,""],data:[28,6,1,""],indexer:[28,6,1,""],length:[28,6,1,""],n_entries:[28,6,1,""],pos:[28,6,1,""],search_keys:[28,6,1,""]},"promod3.modelling.FraggerHandle":{Get:[28,4,1,""],GetList:[28,4,1,""],LoadCached:[28,4,1,""],SaveCached:[28,4,1,""]},"promod3.modelling.FragmentSampler":{Initialize:[34,4,1,""],ProposeStep:[34,4,1,""]},"promod3.modelling.FullGapExtender":{Extend:[29,4,1,""]},"promod3.modelling.GapExtender":{Extend:[29,4,1,""]},"promod3.modelling.KIC":{Close:[32,4,1,""],KIC:[32,4,1,""]},"promod3.modelling.KICCloser":{Close:[34,4,1,""]},"promod3.modelling.LinearScorer":{GetScore:[34,4,1,""]},"promod3.modelling.LoopCandidates":{Add:[31,4,1,""],AddFragmentInfo:[31,4,1,""],ApplyCCD:[31,4,1,""],ApplyKIC:[31,4,1,""],CalculateAllAtomScores:[31,4,1,""],CalculateBackboneScores:[31,4,1,""],CalculateSequenceProfileScores:[31,4,1,""],CalculateStemRMSDs:[31,4,1,""],CalculateStructureProfileScores:[31,4,1,""],Extract:[31,4,1,""],FillFromDatabase:[31,5,1,""],FillFromMonteCarloSampler:[31,5,1,""],GetClusteredCandidates:[31,4,1,""],GetClusters:[31,4,1,""],GetFragmentInfo:[31,4,1,""],GetLargestCluster:[31,4,1,""],GetSequence:[31,4,1,""],HasFragmentInfos:[31,4,1,""],Remove:[31,4,1,""]},"promod3.modelling.ModellingHandle":{Copy:[35,4,1,""],all_atom_scorer:[35,6,1,""],all_atom_scorer_env:[35,6,1,""],all_atom_sidechain_env:[35,6,1,""],backbone_scorer:[35,6,1,""],backbone_scorer_env:[35,6,1,""],fragger_handles:[35,6,1,""],gaps:[35,6,1,""],model:[35,6,1,""],modelling_issues:[35,6,1,""],profiles:[35,6,1,""],psipred_predictions:[35,6,1,""],seqres:[35,6,1,""],sidechain_reconstructor:[35,6,1,""]},"promod3.modelling.ModellingIssue":{Severity:[35,3,1,""],is_major:[35,4,1,""],residue_list:[35,6,1,""],severity:[35,6,1,""],text:[35,6,1,""]},"promod3.modelling.ModellingIssue.Severity":{MAJOR:[35,6,1,""],MINOR:[35,6,1,""]},"promod3.modelling.MotifMatch":{alignment:[28,6,1,""],mat:[28,6,1,""],query_idx:[28,6,1,""]},"promod3.modelling.MotifQuery":{GetIdentifiers:[28,4,1,""],GetN:[28,4,1,""],GetPositions:[28,4,1,""],Load:[28,5,1,""],Save:[28,4,1,""]},"promod3.modelling.NTerminalCloser":{Close:[34,4,1,""]},"promod3.modelling.PentaMatch":{FromSeqList:[28,5,1,""],N:[28,6,1,""],TopN:[28,4,1,""],indexer:[28,6,1,""],length:[28,6,1,""],pos:[28,6,1,""]},"promod3.modelling.PhiPsiSampler":{Initialize:[34,4,1,""],ProposeStep:[34,4,1,""]},"promod3.modelling.SamplerBase":{Initialize:[34,4,1,""],ProposeStep:[34,4,1,""]},"promod3.modelling.ScoreContainer":{Contains:[31,4,1,""],Copy:[31,4,1,""],Extend:[31,4,1,""],Extract:[31,4,1,""],Get:[31,4,1,""],GetNumCandidates:[31,4,1,""],IsEmpty:[31,4,1,""],LinearCombine:[31,4,1,""],Set:[31,4,1,""]},"promod3.modelling.ScorerBase":{GetScore:[34,4,1,""]},"promod3.modelling.ScoringGapExtender":{Extend:[29,4,1,""]},"promod3.modelling.ScoringWeights":{GetAllAtomScoringKeys:[31,5,1,""],GetAllAtomWeights:[31,5,1,""],GetBackboneScoringKeys:[31,5,1,""],GetBackboneWeights:[31,5,1,""],GetSequenceProfileScoresKey:[31,5,1,""],GetStemRMSDsKey:[31,5,1,""],GetStructureProfileScoresKey:[31,5,1,""],GetWeights:[31,5,1,""],SetAllAtomScoringKeys:[31,5,1,""],SetBackboneScoringKeys:[31,5,1,""],SetSequenceProfileScoresKey:[31,5,1,""],SetStemRMSDsKey:[31,5,1,""],SetStructureProfileScoresKey:[31,5,1,""],SetWeights:[31,5,1,""]},"promod3.modelling.ShiftExtension":{Extend:[29,4,1,""]},"promod3.modelling.SidechainReconstructionData":{disulfid_bridges:[36,6,1,""],env_pos:[36,6,1,""],is_c_ter:[36,6,1,""],is_n_ter:[36,6,1,""],loop_lengths:[36,6,1,""],loop_start_indices:[36,6,1,""],rotamer_res_indices:[36,6,1,""]},"promod3.modelling.SidechainReconstructor":{AttachEnvironment:[36,4,1,""],Reconstruct:[36,4,1,""]},"promod3.modelling.SoftSampler":{Initialize:[34,4,1,""],ProposeStep:[34,4,1,""]},"promod3.modelling.StructuralGap":{Copy:[29,4,1,""],ExtendAtCTerm:[29,4,1,""],ExtendAtNTerm:[29,4,1,""],GetChain:[29,4,1,""],GetChainIndex:[29,4,1,""],GetChainName:[29,4,1,""],GetLength:[29,4,1,""],IsCTerminal:[29,4,1,""],IsNTerminal:[29,4,1,""],IsTerminal:[29,4,1,""],ShiftCTerminal:[29,4,1,""],after:[29,6,1,""],before:[29,6,1,""],full_seq:[29,6,1,""],length:[29,6,1,""],seq:[29,6,1,""]},"promod3.scoring":{AllAtomClashScorer:[39,3,1,""],AllAtomInteractionScorer:[39,3,1,""],AllAtomOverallScorer:[39,3,1,""],AllAtomPackingScorer:[39,3,1,""],AllAtomScorer:[39,3,1,""],BackboneOverallScorer:[41,3,1,""],BackboneScoreEnv:[40,3,1,""],BackboneScorer:[41,3,1,""],CBPackingScorer:[41,3,1,""],CBetaScorer:[41,3,1,""],ClashScorer:[41,3,1,""],ConstraintFunction:[40,3,1,""],ContactFunction:[40,3,1,""],DiscoContainer:[40,3,1,""],HBondScorer:[41,3,1,""],LoadAllAtomInteractionScorer:[39,1,1,""],LoadAllAtomPackingScorer:[39,1,1,""],LoadCBPackingScorer:[41,1,1,""],LoadCBetaScorer:[41,1,1,""],LoadDefaultAllAtomOverallScorer:[39,1,1,""],LoadDefaultBackboneOverallScorer:[41,1,1,""],LoadHBondScorer:[41,1,1,""],LoadReducedScorer:[41,1,1,""],LoadSSAgreementScorer:[41,1,1,""],LoadTorsionScorer:[41,1,1,""],PairwiseFunction:[40,3,1,""],PairwiseFunctionType:[40,3,1,""],PairwiseScorer:[41,3,1,""],ReducedScorer:[41,3,1,""],SCWRL3DisulfidScore:[43,4,1,""],SCWRL3PairwiseScore:[43,4,1,""],SSAgreementScorer:[41,3,1,""],TorsionScorer:[41,3,1,""]},"promod3.scoring.AllAtomClashScorer":{DoExternalScores:[39,4,1,""],DoInternalScores:[39,4,1,""],DoNormalize:[39,4,1,""]},"promod3.scoring.AllAtomInteractionScorer":{DoExternalScores:[39,4,1,""],DoInternalScores:[39,4,1,""],DoNormalize:[39,4,1,""],Load:[39,5,1,""],LoadPortable:[39,5,1,""],Save:[39,4,1,""],SavePortable:[39,4,1,""],SetEnergy:[39,4,1,""]},"promod3.scoring.AllAtomOverallScorer":{AttachEnvironment:[39,4,1,""],CalculateLinearCombination:[39,4,1,""],Contains:[39,4,1,""],Get:[39,4,1,""],__getitem__:[39,4,1,""],__setitem__:[39,4,1,""]},"promod3.scoring.AllAtomPackingScorer":{DoNormalize:[39,4,1,""],Load:[39,5,1,""],LoadPortable:[39,5,1,""],Save:[39,4,1,""],SavePortable:[39,4,1,""],SetEnergy:[39,4,1,""]},"promod3.scoring.AllAtomScorer":{AttachEnvironment:[39,4,1,""],CalculateScore:[39,4,1,""],CalculateScoreProfile:[39,4,1,""]},"promod3.scoring.BackboneOverallScorer":{AttachEnvironment:[41,4,1,""],Calculate:[41,4,1,""],CalculateLinearCombination:[41,4,1,""],Contains:[41,4,1,""],Get:[41,4,1,""],__getitem__:[41,4,1,""],__setitem__:[41,4,1,""]},"promod3.scoring.BackboneScoreEnv":{AddPairwiseFunction:[40,4,1,""],ApplyPairwiseFunction:[40,4,1,""],ClearEnvironment:[40,4,1,""],Copy:[40,4,1,""],GetSeqres:[40,4,1,""],Pop:[40,4,1,""],SetEnvironment:[40,4,1,""],SetInitialEnvironment:[40,4,1,""],SetPsipredPrediction:[40,4,1,""],Stash:[40,4,1,""]},"promod3.scoring.BackboneScorer":{AttachEnvironment:[41,4,1,""],CalculateScore:[41,4,1,""],CalculateScoreProfile:[41,4,1,""]},"promod3.scoring.CBPackingScorer":{DoNormalize:[41,4,1,""],Load:[41,5,1,""],LoadPortable:[41,5,1,""],Save:[41,4,1,""],SavePortable:[41,4,1,""],SetEnergy:[41,4,1,""]},"promod3.scoring.CBetaScorer":{DoExternalScores:[41,4,1,""],DoInternalScores:[41,4,1,""],DoNormalize:[41,4,1,""],Load:[41,5,1,""],LoadPortable:[41,5,1,""],Save:[41,4,1,""],SavePortable:[41,4,1,""],SetEnergy:[41,4,1,""]},"promod3.scoring.ClashScorer":{DoExternalScores:[41,4,1,""],DoInternalScores:[41,4,1,""],DoNormalize:[41,4,1,""]},"promod3.scoring.DiscoContainer":{AddStructuralInfo:[40,1,1,""],AttachConstraints:[40,1,1,""]},"promod3.scoring.HBondScorer":{DoExternalScores:[41,4,1,""],DoInternalScores:[41,4,1,""],DoNormalize:[41,4,1,""],Load:[41,5,1,""],LoadPortable:[41,5,1,""],Save:[41,4,1,""],SavePortable:[41,4,1,""],SetEnergy:[41,4,1,""]},"promod3.scoring.PairwiseFunction":{Score:[40,4,1,""]},"promod3.scoring.PairwiseScorer":{DoExternalScores:[41,4,1,""],DoInternalScores:[41,4,1,""],DoNormalize:[41,4,1,""]},"promod3.scoring.ReducedScorer":{DoExternalScores:[41,4,1,""],DoInternalScores:[41,4,1,""],DoNormalize:[41,4,1,""],Load:[41,5,1,""],LoadPortable:[41,5,1,""],Save:[41,4,1,""],SavePortable:[41,4,1,""],SetEnergy:[41,4,1,""]},"promod3.scoring.SSAgreementScorer":{DoNormalize:[41,4,1,""],Load:[41,5,1,""],LoadPortable:[41,5,1,""],Save:[41,4,1,""],SavePortable:[41,4,1,""],SetScore:[41,4,1,""]},"promod3.scoring.TorsionScorer":{DoNormalize:[41,4,1,""],Load:[41,5,1,""],LoadPortable:[41,5,1,""],Save:[41,4,1,""],SavePortable:[41,4,1,""],SetEnergy:[41,4,1,""]},"promod3.sidechain":{AAToRotID:[49,4,1,""],BBDepRotamerLib:[51,3,1,""],CreateSCWRL3Particle:[49,4,1,""],CreateSCWRL4Particle:[49,4,1,""],CreateVINAParticle:[49,4,1,""],DihedralConfiguration:[51,3,1,""],DisulfidScore:[44,4,1,""],FRMRotamer:[49,3,1,""],FRMRotamerGroup:[49,3,1,""],Frame:[45,3,1,""],FrameResidue:[45,3,1,""],GetDihedralConfiguration:[51,4,1,""],GetRotamericConfiguration:[51,4,1,""],GetVINAWeightGaussian1:[49,4,1,""],GetVINAWeightGaussian2:[49,4,1,""],GetVINAWeightHBond:[49,4,1,""],GetVINAWeightHydrophobic:[49,4,1,""],GetVINAWeightRepulsion:[49,4,1,""],LoadBBDepLib:[48,4,1,""],LoadLib:[48,4,1,""],PScoringFunction:[49,3,1,""],Particle:[49,3,1,""],RRMRotamer:[49,3,1,""],RRMRotamerGroup:[49,3,1,""],ReadDunbrackFile:[48,4,1,""],ResolveCysteins:[44,4,1,""],RotamerConstructor:[50,3,1,""],RotamerGraph:[46,3,1,""],RotamerID:[49,3,1,""],RotamerLib:[51,3,1,""],RotamerLibEntry:[51,3,1,""],SCWRL3RotamerConstructor:[50,3,1,""],SCWRL4ParticleType:[49,3,1,""],SCWRL4RotamerConstructor:[50,3,1,""],SetVINAWeightGaussian1:[49,4,1,""],SetVINAWeightGaussian2:[49,4,1,""],SetVINAWeightHBond:[49,4,1,""],SetVINAWeightHydrophobic:[49,4,1,""],SetVINAWeightRepulsion:[49,4,1,""],SubrotamerOptimizer:[52,4,1,""],TLCToRotID:[49,4,1,""],VINAParticleType:[49,3,1,""],VINARotamerConstructor:[50,3,1,""]},"promod3.sidechain.BBDepRotamerLib":{AddRotamer:[51,4,1,""],Load:[51,5,1,""],LoadPortable:[51,5,1,""],MakeStatic:[51,4,1,""],QueryLib:[51,4,1,""],Save:[51,4,1,""],SavePortable:[51,4,1,""],SetInterpolate:[51,4,1,""]},"promod3.sidechain.FRMRotamer":{AddFrameEnergy:[49,4,1,""],AddSubrotamerDefinition:[49,4,1,""],ApplyOnResidue:[49,4,1,""],GetActiveSubrotamer:[49,4,1,""],GetFrameEnergy:[49,4,1,""],GetInternalEnergy:[49,4,1,""],GetInternalEnergyPrefactor:[49,4,1,""],GetNumSubrotamers:[49,4,1,""],GetProbability:[49,4,1,""],GetSelfEnergy:[49,4,1,""],GetSubrotamerDefinition:[49,4,1,""],GetTemperature:[49,4,1,""],SetActiveSubrotamer:[49,4,1,""],SetFrameEnergy:[49,4,1,""],SetInternalEnergy:[49,4,1,""],SetInternalEnergyPrefactor:[49,4,1,""],SetProbability:[49,4,1,""],SetTemperature:[49,4,1,""],ToFrameResidue:[49,4,1,""],ToRRMRotamer:[49,4,1,""],__getitem__:[49,4,1,""],__len__:[49,4,1,""]},"promod3.sidechain.FRMRotamerGroup":{AddFrameEnergy:[49,4,1,""],ApplyOnResidue:[49,4,1,""],ApplySelfEnergyThresh:[49,4,1,""],Merge:[49,4,1,""],SetFrameEnergy:[49,4,1,""],__getitem__:[49,4,1,""],__len__:[49,4,1,""]},"promod3.sidechain.FrameResidue":{__getitem__:[45,4,1,""],__len__:[45,4,1,""]},"promod3.sidechain.Particle":{GetCollisionDistance:[49,4,1,""],GetName:[49,4,1,""],GetPos:[49,4,1,""],GetScoringFunction:[49,4,1,""],PairwiseScore:[49,4,1,""]},"promod3.sidechain.RRMRotamer":{AddFrameEnergy:[49,4,1,""],ApplyOnResidue:[49,4,1,""],GetFrameEnergy:[49,4,1,""],GetInternalEnergy:[49,4,1,""],GetInternalEnergyPrefactor:[49,4,1,""],GetProbability:[49,4,1,""],GetSelfEnergy:[49,4,1,""],SetFrameEnergy:[49,4,1,""],SetInternalEnergy:[49,4,1,""],SetInternalEnergyPrefactor:[49,4,1,""],SetProbability:[49,4,1,""],ToFrameResidue:[49,4,1,""],__getitem__:[49,4,1,""],__len__:[49,4,1,""]},"promod3.sidechain.RRMRotamerGroup":{AddFrameEnergy:[49,4,1,""],ApplyOnResidue:[49,4,1,""],ApplySelfEnergyThresh:[49,4,1,""],Merge:[49,4,1,""],SetFrameEnergy:[49,4,1,""],__getitem__:[49,4,1,""],__len__:[49,4,1,""]},"promod3.sidechain.RotamerConstructor":{AssignInternalEnergies:[50,4,1,""],ConstructBackboneFrameResidue:[50,4,1,""],ConstructRRMRotamerGroup:[50,4,1,""],ConstructSidechainFrameResidue:[50,4,1,""]},"promod3.sidechain.RotamerGraph":{CreateFromFRMList:[46,5,1,""],CreateFromRRMList:[46,5,1,""]},"promod3.sidechain.RotamerLib":{AddRotamer:[51,4,1,""],Load:[51,5,1,""],LoadPortable:[51,5,1,""],MakeStatic:[51,4,1,""],QueryLib:[51,4,1,""],Save:[51,4,1,""],SavePortable:[51,4,1,""]},"promod3.sidechain.RotamerLibEntry":{FromResidue:[51,5,1,""],IsSimilar:[51,4,1,""],SimilarDihedral:[51,4,1,""],chi1:[51,6,1,""],chi2:[51,6,1,""],chi3:[51,6,1,""],chi4:[51,6,1,""],probability:[51,6,1,""],sig1:[51,6,1,""],sig2:[51,6,1,""],sig3:[51,6,1,""],sig4:[51,6,1,""]},"promod3.sidechain.SCWRL3RotamerConstructor":{AssignInternalEnergies:[50,4,1,""]},"promod3.sidechain.SCWRL4RotamerConstructor":{AssignInternalEnergies:[50,4,1,""],ConstructFrameResidue:[50,4,1,""],ConstructFrameResidueHeuristic:[50,4,1,""]},"promod3.sidechain.VINARotamerConstructor":{AssignInternalEnergies:[50,4,1,""],ConstructFRMRotamerHeuristic:[50,4,1,""],ConstructFrameResidueHeuristic:[50,4,1,""],ConstructRRMRotamerHeuristic:[50,4,1,""]},"test_actions.ActionTestCase":{RunAction:[1,4,1,""],RunExitStatusTest:[1,4,1,""],pm_action:[1,6,1,""],pm_bin:[1,6,1,""],testPMExists:[1,4,1,""]},promod3:{SetCompoundsChemlib:[15,1,1,""],core:[12,2,0,"-"],loop:[23,2,0,"-"],modelling:[30,2,0,"-"],scoring:[42,2,0,"-"],sidechain:[47,2,0,"-"]},test_actions:{ActionTestCase:[1,3,1,""]}},objnames:{"0":["cmake","command","CMake command"],"1":["py","function","Python function"],"2":["py","module","Python module"],"3":["py","class","Python class"],"4":["py","method","Python method"],"5":["py","staticmethod","Python static method"],"6":["py","attribute","Python attribute"],"7":["std","cmdoption","program option"]},objtypes:{"0":"cmake:command","1":"py:function","2":"py:module","3":"py:class","4":"py:method","5":"py:staticmethod","6":"py:attribute","7":"std:cmdoption"},terms:{"0288eced23a9a541a88005a7ed30b8f019e06226":3,"10a":36,"1ake":28,"1aki":26,"1crn":[21,23,25,26,30,31,32,34,35,36,42,47],"1crn_cut":[30,31,35],"1crna":[26,31],"1e2q":28,"1ey":8,"1eye_rec":8,"1ko5":28,"20a":36,"214e6":3,"2e6":28,"2iyw":28,"2jlp":0,"30a":36,"3x3":9,"4tb":3,"655a":26,"abstract":[34,50],"boolean":[11,13,35],"break":[3,4,8,16],"byte":[10,28,37],"case":[0,1,5,8,13,16,22,26,27,28,29,32,34,35,36,37,41,44,47,49,50,51],"catch":26,"char":[22,37],"class":[0,1,3,5,8,9,10,12,13,14,17,20,23,25,28,30,32,34,35,37,42,45,46,49,50,51],"const":37,"default":[0,1,2,3,4,5,8,10,13,14,15,18,21,22,25,26,27,28,30,31,32,33,34,36,39,41,47,49,50],"enum":[26,49],"export":[8,21],"final":[8,18,26,28,30,31,35,40,42,44,46,47,49],"float":[9,10,21,22,25,26,27,28,29,31,32,33,34,35,36,37,39,40,41,43,44,49,50,51,52],"function":[0,1,3,8,10,13,14,15,16,17,19,21,22,25,26,28,30,31,32,33,34,35,37,38,39,41,42,44,46,47,51,54],"import":[0,1,5,7,8,11,13,16,18,20,21,22,23,25,26,27,28,30,31,32,34,35,36,42,47,49,50],"int":[1,9,10,11,14,21,22,24,25,26,27,28,29,31,32,33,34,35,36,37,39,40,41,45,49,50,51,52],"long":35,"new":[1,3,7,8,13,16,17,21,22,25,26,28,29,31,32,34,35,36,37,38,47,49],"null":26,"public":[8,37,49],"return":[1,8,9,10,11,13,14,15,21,22,24,25,26,27,28,29,31,32,33,34,35,36,37,39,40,41,43,44,45,48,49,50,51],"s\u00f6ding":38,"short":[8,16,35,37],"static":[8,14,21,25,26,27,28,31,36,37,39,41,46,48,51],"super":47,"switch":[8,16,40],"throw":[1,37,47,48],"true":[1,11,13,14,21,22,23,25,26,28,29,31,32,33,34,35,36,37,39,41,44,47,50],"try":[1,8,18,29,35,37,51],"void":37,"while":[1,4,8,14,20,21,25,35,37,49],AND:[20,39,41,50],Added:3,Adding:[3,4],And:26,But:[1,4,8,16,28,35,50],CYS:[25,36,49,51],FOR:20,For:[1,2,5,8,12,13,16,18,20,21,25,26,28,31,34,35,36,37,40,41,44,49,50,51],HIS:[21,25,33,49,51],Has:4,IDs:49,ILE:[27,49],Into:[30,54],Its:[4,16,19],LYS:49,NOT:5,Not:20,One:[16,21,22,26,28,35,40,44,49,52],RMS:33,Res:[21,31,34,35,39,40,41],That:[0,1,4,8,11,13,16,26,28,41],Thats:52,The:[0,2,3,4,8,10,11,13,14,17,18,19,20,23,24,25,28,29,30,32,33,34,37,38,39,40,41,42,43,44,46,47,48,52,54],Then:[4,8,11,35],There:[1,4,5,8,10,13,16,25,26,27,34,39,41,48,49],These:[1,2,4,26,28,29,34,35],USE:20,Use:[0,4,25,26,27,35,39,41,51],Used:[31,35],Useful:[21,25,36],Uses:[31,35],Using:[4,17,25,54],Will:35,With:[8,30,35,51],__doc__:[11,13],__getitem__:[26,39,41,45,49],__init__:[1,8,13,16],__len__:[22,26,45,49],__main__:[1,8],__name__:[1,8],__setitem__:[26,39,41],_data:37,_name:4,_run:[1,4],_xml:4,a3m:[0,13],a3mtoprofil:[0,13],aa1:41,aa2:41,aa_aft:26,aa_befor:26,aa_clash:[35,39],aa_interact:[35,39],aa_pack:[35,39],aa_packing_scor:37,aa_relax_test:32,aa_res_idx:50,aa_scor:37,aa_with_rotam:47,aaa1:39,aaa2:39,aaa:[21,39],aaaaaaaa:22,aaaaggggggggggggggggggggaaaaaa:35,aafrequ:26,aafrequenciesstruct:26,aah:21,aatorotid:49,abcd:35,abcdef:35,abcdefghi:35,abcdefghij:35,abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz:35,abil:16,abl:[2,8,35],abort:[8,10,32,35],about:[1,4,8,10,26,28,35],abov:[0,1,5,8,13,16,20,22,29,31,33,35,37,49,51],absolut:[4,5,34],academ:8,accept:[10,13,20,31,32,34,35,36,37],acceptor:[41,49,50],access:[4,5,8,21,22,26,27,28,31,35,39,40,41,49],accessor:26,accord:[0,5,10,16,21,22,25,26,27,28,29,31,34,35,36,39,44,47,49,50,51],accordingli:[26,40],account:[8,53],accumul:28,accur:28,accuraci:[0,28,35,38],achiev:[10,16],acid:[22,23,24,26,28,32,35,36,41,43,46,47,49,51],acknowledg:8,across:[1,51],act:[20,32],acta:38,action:[3,7,13,16,17,18,19,32,54],action_nam:16,action_unit_test:1,actiontest:1,actiontestcas:8,activ:[13,14,16,35,44,49,52],active_internal_energi:52,actual:[3,8,13,16,22,26,28,34,35,36,40,41,42,50,51],actual_posit:34,actual_step:34,adapt:[3,8,25,26,32,34,35,38],add:[1,2,4,6,8,10,13,18,20,21,26,27,28,31,32,35,36,39,40,41,44,47,49,50,53],add_argu:11,add_custom_target:8,add_doc_depend:4,add_doc_sourc:[4,8],add_flag:28,add_subdirectori:8,addalign:13,addcarestraint:32,addcbrestraint:32,addcoordin:26,addcrestraint:32,added:[0,4,8,10,13,21,22,26,28,29,31,33,35,36,39,40,41,49,50,51],addedg:10,addendum:20,addfrag:[13,26],addfragmentinfo:31,addframeenergi:49,addharmonicangl:25,addharmonicbond:25,addharmonicimprop:25,adding:[0,2,4,8,13,14,16,26,45],addit:[3,4,11,13,14,16,20,22,23,25,26,28,33,35,37],addition:[1,4,16,21,25,26,28],addljpair:25,addmodellingissu:35,addnod:10,addnrestraint:32,addorestraint:32,addpairwisefunct:40,addperiodicdihedr:25,addperiodicimprop:25,addprofil:13,addresidu:28,address:37,addrotam:51,addseqidparamet:26,addseqsimparamet:[23,26],addsequenceprofileparamet:26,addssagreeparamet:26,addstructur:13,addstructuralinfo:40,addstructureprofileparamet:26,addsubrotamerdefinit:49,addtorsionprobabilityparamet:26,addureybradleyangl:25,admir:8,advanc:28,advantag:25,advic:[8,16],advis:20,afdb:[3,30],afdb_frag:28,afdb_model:28,afdb_vers:28,afdbmodel:28,afdbtplsearch:28,afdptplsearch:[],affect:[8,22,35,49,50],after:[1,2,4,5,8,10,13,16,21,22,25,26,27,29,31,32,34,35,37,40,51],after_c_stem:22,afterward:[8,26,35],again:[2,3,8,26,28,50],against:[20,28,39],agg:27,agglom:31,ago:1,agre:20,agreement:[13,20,26,28,41],agress:[2,10],aim:19,ala:[22,27,32,47,49,50,51],ala_cb:21,ala_h1:21,ala_h:21,alanin:[3,49],alg:[23,26,28,35],algorithm:[3,10,19,22,23,26,30,31,32,33,34,35,38,42,43,46,47,49,54],alia:29,align:[0,3,13,18,26,28,30,38,40],alignedcuboid:22,alignmenthandl:[28,35,40],alignmentlist:[0,13,35],all:[0,1,2,3,4,7,8,10,13,14,16,18,19,20,22,23,25,26,27,28,29,30,31,33,34,35,36,37,40,41,42,44,45,47,48,49,50,51,52,54],all_atom:[21,22,25,49],all_atom_env:21,all_atom_po:[21,50],all_atom_scor:35,all_atom_scorer_env:35,all_atom_sidechain_env:35,all_po:[21,25,32],all_scor:31,allatom:[32,35,36],allatomclashscor:[35,42],allatomenv:[23,32,35,36,39],allatomenvposit:[23,36],allatominteractionscor:[35,37,42],allatomoverallscor:[31,35,42],allatompackingscor:[35,37,42],allatomposit:[23,25,49,50],allatomrelax:[25,32],allatomscor:42,alleg:20,alloc:26,allow:[0,2,3,5,8,11,16,22,26,27,28,31,34,35,37,39,41,46,51],allow_multitempl:13,allow_prepro_ci:22,almost:[4,32,35],aln:[0,28,30,31,35,40],aln_preprocess:35,aln_sourc:13,alon:[11,20],along:[1,8,20],alongsid:20,alot:8,alpha:[9,22,41,47],alpha_bin:41,alreadi:[1,4,8,10,16,22,25,26,28,31,35,36,39,40,41,49,50,51,52],also:[1,2,3,4,8,11,16,20,26,27,28,31,32,33,34,35,36,44,45,46,50,51],alter:[31,34],altern:[4,5,8,31,34,35,48,50],alwai:[0,1,8,16,29,34,35,37],amber:[21,35],ambig:51,ambigu:[0,13,51],amino:[22,23,24,26,28,32,35,36,41,43,46,47,49,51],aminoacid:[21,22,25,27,41,49,51],aminoacidatom:[21,39],aminoacidhydrogen:21,aminoacidlookup:[21,25],among:31,amount:[3,18,28,51],analog:28,analysi:[32,33,38],analyt:[31,51],anchor:[9,21,35],ancient:[3,15],angl:[0,9,21,22,23,25,26,31,32,33,34,35,41,47,50,51,54],angle_bin:41,angle_bin_s:26,angle_force_const:25,angle_four:9,angle_on:9,angle_thre:9,angle_two:9,angstrom:[26,32],ani:[0,1,4,5,8,10,13,14,15,18,20,21,22,25,26,27,28,29,31,33,34,35,36,37,39,40,41,45,47,49,50],anneal:[10,31,34],annot:20,announc:[1,8],anoth:[4,14,22,29,32,35,36,44],anymor:[3,10,28,35],anyon:[8,16],anyth:[0,2,5,8,13,14,15,28,31,32,36,39,41],anywai:8,anywher:16,apach:[3,20],apart:[1,31,35,36,39,41],api:[8,17],appear:20,append:[0,13,22,26,27,28,35,47],appendix:20,appli:[3,7,10,11,15,16,20,22,26,28,29,31,32,34,35,36,38,40,44,47,49,51],applic:[1,20,32,50],applyccd:31,applyde:10,applyedgedecomposit:10,applyk:31,applylbfg:35,applyonresidu:[47,49],applypairwisefunct:[40,41],applysd:[25,35],applyselfenergythresh:[47,49],applytransform:[22,28],approach:[0,2,10,26,28,35,37,44,47,50],appropri:[10,20,27,28,35,37,50],approx:35,approxim:25,arbitrari:[3,7,21,26,44],arbitrarili:34,archiv:20,arendal:38,arg:[1,4,13,49],arg_ca:21,arg_hd3:21,arg_sorted_scor:31,arginin:49,argpars:13,argument:[0,1,2,4,11,12,34,40],argumentpars:13,argv:13,aris:20,around:[1,4,8,9,16,22,31,32,35,39,40,41,51],arrai:[0,8,37],arrang:28,artifici:26,ascend:29,ask:8,asn:[49,51],asn_c:21,asn_hb2:21,asp:[21,49,51],asp_ha:21,asp_o:21,asparagin:49,aspart:[49,51],ass:34,assembl:13,assemblepars:13,assert:20,assertequ:8,assess:[39,40],assign:[3,10,22,26,31,34,39,41,50,52],assigninternalenergi:50,assignsecstruct:35,associ:[20,26,29,45],assum:[1,4,5,8,20,25,26,32,35,37,40,41,44,50],assur:44,astar:3,astarsolv:10,atom:[3,8,9,22,23,25,26,28,30,31,33,35,36,40,41,42,44,45,49,50,51,54],atom_idx:[21,25],atom_nam:[21,25],atomhandl:50,atomseq:35,atp:28,atp_at:28,atp_idx:28,atp_list:28,atp_r:28,atp_sel:28,atp_view:28,attach:[0,4,8,13,20,21,25,28,29,31,35,36,39,40,41,42],attach_view:13,attachconstraint:40,attachenviron:[31,32,34,36,39,41,42],attachview:[30,31,35],attent:[1,16],attribut:[8,13,20,26,35,36,51],aug2022:3,author:20,authorship:20,autodock:[38,49],autom:[2,4],automat:[1,8,10,11,14,16,26,30,31,37,50,51],automatis:8,avaibl:50,avail:[1,2,3,5,8,15,16,18,20,25,26,28,31,34,35,40,47,49],availab:20,availabl:8,averag:[31,40,44],avg:26,avg_sampling_per_posit:28,avoid:[0,3,6,11,13,15,26,28,32,34],awai:[16,28,36],awar:[0,3,8,35,50],awesom:[1,8],axi:[9,22],back:[1,16,25,34],backbon:[0,3,7,9,18,21,22,26,27,28,29,30,31,34,35,36,38,42,45,47,48,49,50,54],backbone_scor:35,backbone_scorer_env:35,backbonelist:[7,18,21,23,26,28,29,31,32,34,35,40],backboneoverallscor:[28,31,34,35,42],backbonerelax:[32,35],backbonescor:[8,42],backbonescoreenv:[8,28,31,34,35,41,42],backbonescoreenvlisten:8,background:[2,36],backrub:[22,38],backward:[2,3,37],bad:[25,35],bare:26,base:[0,3,4,5,9,11,13,19,20,22,23,27,28,31,32,34,35,37,38,40,42,47,49,50,51],base_target:4,baseclass:47,basel:[8,53],bashrc:8,basi:[4,8,16,20,28,32,33,34,48],basic:[1,2,8,11,16,27,28,34,35,47,51],bb_dep_lib:37,bb_list:[7,18,21,22,23,26,29,31,32,34,35,40],bb_list_on:28,bb_list_two:28,bb_score:31,bbdeprotamerlib:[35,36,37,48,50,51],bcde:35,becaus:[8,16,21,28,35,40],becom:[10,35,51],been:[2,3,10,16,20,24,26,28,31,32,35,39,41,44,51],befor:[0,1,4,7,8,13,16,22,25,26,27,29,31,32,34,35,36,37,50],begin:[1,8,21,22,28,34,40],behalf:20,behav:[1,51],behaviour:[0,13,39,40,49,50,51],behind:8,being:[3,5,8,10,21,26,28,31,34,35,44,51],believ:53,bell:8,belong:[3,4,16,21,22,26,29,31,34,35,36,39,40,41,45,49,50],belov:26,below:[0,8,20,21,25,26,28,31,32,36,37,39,41,44,49],below_thre:26,benefici:20,besid:[2,4,10,13,26],best:[4,31,35,44],best_candid:31,beta:[9,22,33,41],beta_bin:41,better:[25,31,34,35,39,41],between:[1,3,10,13,22,25,26,28,29,31,32,34,35,36,37,39,40,41,42,43,44,45,49,50,51],beyond:13,bfactor:28,biasini2013:[19,38],biasini:38,bienert:38,big:[25,37],bilinearli:51,bin:[1,8,16,18,26,27,28,39,41,51],bin_siz:[28,51],binari:[1,4,8,16,17,25,26,27,28,39,41,51],bind:[0,3,13,20,28],bins_per_dimens:27,bioinformat:38,biol:38,biolog:38,biologi:[19,38],biophi:38,biopolym:38,bit:[1,8,16,31,35],bitwis:26,blank:8,blob:28,block:[3,30,45,47],blosum62:[13,23,26,28,40],boilerpl:20,bond:[0,3,9,22,25,26,32,33,35,36,38,41,47,49,50,51,54],bond_force_const:25,bond_length:[9,25],bool:[1,8,10,11,13,14,21,22,25,26,28,29,31,32,33,34,35,36,37,39,41,44,49,50,51],boost:[2,8,37],boost_librari:4,boost_root:2,bootstrap:[6,7],bore:34,both:[3,21,26,29,35,44,47,51],bound:[21,25,28,31,49,50],boundari:28,br_vinaparticl:49,bracket:20,bradlei:25,branch:[4,8,17],branchnam:16,brew:4,bridg:[24,25,32,35,36],briefli:16,bring:8,broken:1,bromin:49,broyden:35,bsd:20,bug:[3,8,16],bugfix:3,build:[1,3,4,6,7,8,16,18,19,25,28,30,34,44,45,47,48,50,54],build_disulfid:36,builder:2,buildfromrawmodel:[30,35],buildrawmodel:[0,3,30,31,35],buildsidechain:35,buildup:[47,49],built:[4,5,25,26,40,45],bunch:[1,13,16],bundl:20,bytecod:1,c_coord:9,c_num:29,c_p_vinaparticl:[49,50],c_po:[9,22,41],c_stem:[9,23,26,29,31,32,34],c_stem_plddt:28,c_stem_psi:34,c_str:37,c_ter:[32,50],c_vinaparticl:[49,50],ca_coord:9,ca_pairwise_funct:40,ca_po:[9,22],ca_pos_on:[43,44],ca_pos_two:[43,44],ca_posit:[28,44],ca_rmsd:[23,26],cach:[2,26,28],calcul:[8,22,26,27,28,31,32,33,34,39,40,41,42,44,45,46,47,49,50],calculateallatomscor:31,calculatebackbonescor:31,calculatelinearcombin:[31,34,39,41],calculatescor:[39,41,42],calculatescoreprofil:[39,41],calculatesequenceprofilescor:31,calculatestemrmsd:31,calculatestructureprofilescor:31,call:[1,2,4,8,11,13,14,15,16,21,25,26,27,29,31,33,34,35,36,37,39,40,41,49,50,51],callabl:[13,16],calpha:35,calul:27,came:8,can:[0,1,2,3,4,5,7,8,9,10,11,13,14,15,16,18,19,21,22,23,25,26,27,28,29,30,31,32,34,35,36,37,39,40,41,42,44,45,46,47,48,50,51,52,53],cand:35,candid:[3,30,33,34,35,54],cannot:[0,8,13,20,25,26,27,28,29,35,37,39,41,48,49,50,51],canutescu2003:[32,38,49],canutescu2003b:[38,39,41,43,44],canutescu:38,cap:10,capabl:[24,30,34],captur:1,carbon:[9,22,43,49,50],carbonyl:[49,50],care:[0,8,10,31,32,35,37,41],carlo:[0,3,10,28,31,34,35,46],carmsd:[22,23,26],carri:[8,11,20],cast:[28,37],categori:4,caus:[16,20,33],caution:21,caviti:26,cb_in_sidechain:50,cb_pack:[28,35,41],cb_packing_scor:37,cb_pairwise_funct:40,cb_po:22,cb_pos_on:[43,44],cb_pos_two:[43,44],cb_posit:44,cbeta:[28,31,34,35,41,42],cbeta_scor:[37,42],cbetaenvlisten:8,cbetascor:[8,35,37,42],cbpackingscor:[8,35,37,42],ccd:[3,30,31,34],ccdcloser:34,cdef:35,center:[33,49],central:[22,27,41],centroid:31,certain:[1,2,4,8,10,16,26,27,28,29,35,37,39,40,41],certainli:1,ch1particl:49,ch2particl:49,ch3particl:49,ch_name:26,chain:[0,8,13,21,22,23,24,28,29,31,34,35,36,38,39,40,41],chain_idx:[8,21,31,34,35,36,39,40,41],chain_idx_list:36,chain_idx_on:40,chain_idx_two:40,chain_index:[26,34,39],chain_indic:40,chain_nam:[26,35],chainhandl:[21,22,29],chainid:0,chakravarti:38,chakravarty1999:[26,38],challeng:28,chanc:[8,10,35],chang:[1,3,4,5,7,8,10,16,20,21,27,28,29,32,34,35,36,39],change_frequ:[10,34],changelog:[8,19],chapter:[29,33],charact:[13,20,26,28,35],charg:[8,20,21,25,32,49,50],charmm:[21,25,35],check:[0,1,2,3,5,8,11,13,14,16,22,25,26,30,32,34,35,37,50,51,54],check_dupl:28,check_io:37,check_xml:8,checkbasetyp:37,checker:7,checkfinalmodel:35,checkmagicnumb:37,checkout:[8,16],checktypes:37,chem:38,chemdict_tool:5,chemdicttool:7,chemic:[5,15,21,35,39],chemistri:[35,38],chemlib:[5,7],chi1:51,chi2:51,chi3:51,chi4:51,chi:51,child:13,childclass:1,chimerax:3,chlorin:49,chmod:8,choos:[20,31,34],chose:5,chosen:[0,13,34,35],chunk:28,chunk_byt:28,chunk_dir:28,cif:[0,5,7,13],ciiipgatcpgdyan:35,circumv:50,cis:[22,49,51],cl_vinaparticl:49,claim:20,clash:[3,28,31,32,34,35,39,41,42,44,47],clash_scor:42,clash_thresh:35,clashscor:[31,33,34,35,42],classic:48,claus:20,clean:[2,8,16],cleanli:37,clear:[14,21,22,31,35,40],clearenviron:[21,40],cleargap:29,clearpo:21,clearresidu:21,clip:13,clone:[8,18],close:[16,18,22,26,28,31,32,34,35,36,44],close_at:28,closed_posit:34,closegap:35,closelargedelet:35,closer:[3,26,30,31],closerbas:34,closesmalldelet:[32,35],closest:[28,35],closur:[32,35,38],clustal:[0,13],cluster:[3,31,37,40],cluster_thresh:[28,40],clutter:[1,8,26],cmake:[3,8,14,15,17,18,20,54],cmake_support:[4,8,16,20],cmakecach:2,cmakelist:[1,2,4,8,16],coars:8,code:[0,1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,26,27,33,35,47,49,53],codetest:[4,8],coil:[24,28],collect:[11,14,21,28,40],collis:49,column:[26,28,35],combin:[20,25,26,27,28,31,34,35,38,39,41,44,49,51],come:[1,3,4,8,11,13,28,35,36,42,46,51],command:[0,1,7,8,11,12,16,18,54],commandlin:13,comment:[16,20],commerci:[8,20],commit:[3,8,16],common:[8,13,20,28],commonli:[8,18,30,31,41],commun:20,comp_lib:50,compar:[3,8,22,23,26,31,32,51],comparison:[35,38,51],compat:[2,3,16,25,37],compensatori:22,compil:[1,2,3,4,8,14,16,18,20,37,54],complain:1,complaint:16,complet:[14,16,22,25,32,34,35,36,51],complex:[8,16,36,44,49,52],compli:20,complianc:20,complib_dir_contain:[5,7],complib_dir_localhost:[5,7],compon:[5,7,10,15,26,33,41,50],compound:[3,15,50],compoundlib:[5,50],compress:[3,11,26,28],comput:[3,8,19,20,28,31,33,38,39,41],concaten:21,concept:8,concern:8,condit:[8,20,27],conf:[2,8],confid:[26,41],config:[4,8],config_head:4,configur:[2,3,8,10,16,20,31,47],conflict:16,conform:[26,32,34,38,46,51],connect:[4,5,7,10,16,21,25,26,31],connectivi:5,conop:[5,21,22,25,27,41,49,50],conquer:8,consecut:[26,27,35,41],consequenti:20,conserv:[18,29],consid:[0,4,8,10,13,14,16,21,22,26,27,28,31,32,33,34,35,36,39,40,41,44,47,49,50,51,53],consider_all_nod:10,consider_hydrogen:49,consider_ligand:36,consist:[3,8,20,21,25,28,29,31,32,34,35,36,37,40,44,49,51],conspicu:20,constant:[3,25,32,39,41,52],constitut:20,constraint:[13,26,32,34,40],constraintfunct:40,constru:20,construct:[0,3,9,21,22,26,28,29,33,34,35,37,42,43,45,49,50,51],constructatompo:9,constructbackboneframeresidu:[47,50],constructcbetapo:9,constructcterminaloxygen:9,constructetd:10,constructframeresidu:50,constructframeresidueheurist:50,constructfrmrotamergroup:[47,50],constructfrmrotamerheurist:50,constructor:[21,25,28,29,32,34,37,40,41,47,49,54],constructrrmrotamergroup:50,constructrrmrotamerheurist:50,constructsidechainframeresidu:50,contact:[40,53],contactfunct:40,contain:[0,1,2,3,4,5,7,8,9,11,13,16,18,19,20,21,22,24,25,26,27,28,31,33,34,35,36,39,40,41,42,44,45,47,49,50,51,54],content:[8,12,17,20,23,26,42,47,54],contigu:[25,36,37],continu:[1,21,29,32,47],contract:20,contrast:45,contribut:[4,10,16,17,19,20,54],contributor:20,contributori:20,control:[0,3,8,10,20,31,34,36,40,49,50,51,52],conveni:[1,8,18,28,31,34,35,42,49,50,51],convent:[1,49],converg:[28,31,32,34],convers:[20,37],convert:[4,5,22,25,26,27,35,37,39,41,51,52],convert_module_data:4,convertbasetyp:37,cooler:[3,30,31],coolerbas:34,cooling_factor:[10,34],coord:[26,31],coord_idx:26,coordin:[3,9,26,28,31,32,34,35,38,39,47],coordinfo:26,cope:16,copi:[2,3,4,8,16,18,20,21,22,28,29,31,34,35,40],copyright:20,copyright_cmak:20,core:[0,8,9,10,11,13,14,19,35,37,46,53,54],correct:[5,25,50],correctli:35,correspond:[0,10,16,21,22,25,26,27,28,31,37,49,50,51],corrupt:[21,40],could:[1,4,5,8,13,16,25,26,35],couldn:35,count:[14,28,29,34,35,39,41],countenclosedgap:29,countenclosedinsert:29,counter:[28,34],counterclaim:20,counterpart:[31,41,50],coupl:[1,8,16,35],cours:8,coutsia:38,coutsias2005:[32,38],coval:49,cover:[0,1,8,12,13,14,21,25,28,30,34,35],coverag:[0,3,35],cparticl:49,cpp:4,cpr:[49,51],cpu:[18,25,35],cpu_platform_support:25,crambin:[26,31,34],crash:47,creat:[2,4,5,7,8,9,10,13,16,17,21,22,23,26,27,28,30,34,35,39,41,47,48,49,50,51],createalign:[31,35],createemptyview:28,createentityfromview:[28,36,47],createfromfrmlist:[46,47],createfromrrmlist:46,createfullview:[30,31,35],createscwrl3particl:49,createscwrl4particl:49,createsequ:[26,31,35],createvinaparticl:49,creation:[25,28,32,49],creator:[25,28,32],criteria:36,criterion:[10,34],criterium:31,croak:16,cross:[20,28],crucial:8,crude:[0,35],cryst:38,cterminalclos:34,cumul:50,current:[2,4,5,8,10,14,16,21,22,25,26,31,34,35,37,40,41,42,49,50,52],custom:[8,26,34,35,36,37,48,49],customari:20,cutoff:[24,25,31,32,36,39,41],cycl:29,cyclic:[31,32,38],cyd:[49,51],cyh:[49,51],cys_hb3:21,cys_sg:21,cystein:[25,36,44,47,49],d_bin:41,dai:11,damag:20,dampen:25,danc:38,dare:4,dat:[26,28,37],data1:4,data2:4,data:[0,1,3,4,8,16,17,21,23,24,25,28,29,30,31,32,34,35,36,40,42,47,49,54],data_:37,data_gener:[3,28,37,48],data_to_stor:26,data_typ:26,databas:[0,3,9,23,24,28,31,35],databs:26,datatyp:26,date:[5,7,16,20],davi:38,davis2006:[22,38],db_dir:28,dbg:8,dcmake_install_prefix:2,deactiv:10,dead:[10,38],deal:[35,36],debug:[8,10,21],decent:15,decid:[3,8,32,50],decis:27,declar:[4,8,16],decod:13,decompos:[3,10],decomposit:[10,28,33,46],decreas:[28,34],dedic:[4,8,16],dee:10,deep:[22,35],def:[1,8,21,35],def_angl:21,defend:20,defin:[1,4,8,9,13,14,15,20,21,22,23,24,25,28,29,31,32,33,34,35,36,37,39,40,41,44,49,50,51],definem:8,definit:[8,20,26,27,31,41,49],degre:[22,26,27],deleg:28,delet:[0,2,8,22,35,49],deletegapcol:35,deliber:20,deliv:[1,26,34,35],delta_scor:34,demand:35,demonstr:26,denovoclos:34,densiti:[22,32,38],dep1:4,dep2:4,dep:4,depend:[0,3,4,8,10,13,18,22,25,26,27,28,31,35,36,37,38,39,40,41,47,48,49,54],dependency1:4,dependency2:4,depends_on:4,depth:[26,38],deriv:[1,20,26,28,33,38,43,44],descend:35,descent:[31,32,38],describ:[0,4,7,8,10,11,17,20,21,22,26,28,29,30,32,33,37,39,41,44,47,48,49,50,51,54],descript:[0,5,13,16,20,34,35,51],descriptor:[26,28],descsrib:10,design:[1,3,19,20],desir:[9,18,25,26,31,32,34,35,39,40,41],despit:3,detail:[0,3,9,13,16,20,25,26,27,28,31,33,34,35,39,41,48,49,51],detect:[0,3,11,28,30,38,44],determin:[8,11,20,25,26,31,34,40,41],determinist:28,deuterium:[35,50],develop:[1,3,8,16,19,53],deviat:[22,33,34,51],devot:12,dict:[4,28,31,33,34,39,41],dictionari:[4,5,13,15,33,38],did:[8,26,31,35],didn:[7,28],didnt:5,diff:10,differ:[1,2,4,7,8,10,15,16,20,21,26,28,29,31,35,39,41,47,49,51],differenti:49,dihedr:[7,9,18,22,23,25,26,32,34,35,41,50,51,54],dihedral_angl:22,dihedral_bin:41,dihedral_idx:51,dihedral_pair:27,dihedralconfigur:51,dill:38,dimens:27,dimension:38,dir:[4,8,18],direct:[8,20,22,24,26,33,41,49,50],directli:[8,10,18,26,31,35,36,40,44,49,51,53],directori:[1,2,4,5,7,8,17,26,28,48],dirti:1,dirtyccdclos:34,disabl:[1,16,35],disable_doctest:2,disable_document:2,disable_linkcheck:2,discard:26,disclaim:20,discocontain:40,disconnect:3,discret:[28,39,41],discuss:[20,26],disk:[8,25,28,39,41,51],displai:[7,11,13,14,20],displaystyl:10,dissimilar:28,dist:41,dist_bin:41,dist_bin_s:26,distanc:[7,9,22,26,28,31,33,35,36,39,40,41,43,49],distance_thresh:28,distant:40,distinct:[21,28,36,51],distinguish:[3,23,25,37,39,41,51],distribut:[1,8,20,25,26,27,34,37,39,41,48,51],disulfid:[0,25,32,36,43,47,49,51,54],disulfid_bridg:[25,36],disulfid_score_thresh:36,disulfidscor:[36,44],dive:[16,35],diverg:8,divers:[26,28],divid:28,dng:18,do_it:[39,41],doc:[2,4,8,16,20,28],dock:38,docker:[3,6,7,54],dockerfil:[5,7],docstr:13,doctest:[2,8,16],document:[1,2,7,16,20,26,28,53],doe:[1,3,4,8,9,10,11,13,15,16,20,22,26,30,31,34,35,37,40,48],doesn:[8,16,29,32,34,35,51],doesnt:51,doexternalscor:[39,41],doing:[1,5,16,28],dointernalscor:[39,41],domain:28,domin:10,don:[2,10,20,31,35,50],done:[1,8,11,13,16,23,25,27,28,31,33,34,35,37],donor:[41,49,50],donorm:[39,41],dont:[0,34],dont_write_bytecod:1,dost_root:2,doubl:28,doubt:13,down:[13,22,26,28,34],download:5,dpm3_runtime_profiling_level:14,draw:[22,27,34],drawback:8,drawn:[27,34],drawphigivenpsi:27,drawpsigivenphi:27,drop:[3,8],dssp:[3,26,41],dssp_state:41,dtype:28,due:[0,26,31,32,35,44],dump:[28,51],dunbrack:[3,38,48],duplic:[6,28],dure:[1,3,21,32,35,37,45,51],dynam:51,dynamicspatialorgan:3,e_cut:10,e_thresh:[10,35],e_tresh:10,each:[0,7,8,10,13,14,20,21,22,25,26,27,28,29,31,32,33,34,35,36,37,39,41],earli:3,earlier:2,easi:8,easier:[1,8,20],easili:[4,16,35],echo:8,edg:[10,28],edge_idx:10,editor:1,editori:20,editxc:28,edu:3,educ:8,effect:[4,8,10,25,36,44],effici:[21,28,34,38,42],egg:26,eigen3_include_dir:2,eigen:[2,3],either:[0,7,8,13,16,18,20,21,22,27,29,31,32,34,35,36,37,39,40,41,45,49,51],elabor:[8,20],electron:20,electrostat:[25,32],element:[1,10,21,22,26,28,31,33,37,40,44,50],elimin:[10,38],els:[8,16,36,37],emerg:1,empir:[43,44],emploi:16,empti:[8,11,13,22,26,28,31,35,49],enabl:[1,2,3,11,13,15,25,26],enable_mm:2,enable_ss:2,enclos:[20,29,35],encod:0,encount:[29,34],end:[0,1,2,4,8,10,11,13,16,20,21,22,26,28,29,31,35,38],end_resnum:35,end_transl:4,endian:37,energi:[0,3,8,10,18,25,32,34,35,36,39,41,44,45,46,47,49,50,52],energy_funct:[0,36],enforc:[0,3,21,31,34,35,36,39,40,41],engin:19,enough:[8,16,25,26,35,37],ensur:[2,8,18,31,35,37],ent:[0,13,21,25,26,33,36,42],ent_seq:42,enter:[35,45],entiti:[8,13,14,20,21,22,26,28,33,35,42,47],entityhandl:[13,21,22,26,33,35,36,40],entityview:[26,27,28,33,35],entri:[0,3,8,14,25,26,28,31,32,33,36,41,47,50],entries_from_seqnam:28,entrypoint:5,enumer:[8,10,21,25,26,28,31,35,40,47,49,50,51],env:[8,18,21,25,28,32,33,35,36,39,40,41,42],env_po:[32,36],env_structur:[21,40],environ:[1,3,8,21,28,29,31,32,34,35,36,37,39,41,42,54],epsilon:[10,25,36,52],equal:[28,34,39,41,44,50],equidist:51,equip:5,equival:[28,35,39,41],error:[0,11,13,14,26,28,32,35,37],especi:28,estim:[10,28,33,34,35,38,41,44,49,50,51],etc:[1,3,8,16,22,26,31,40],evalu:[4,8,32,35,39,40,41,46,47,49,51,54],evaluategromacsposrul:9,even:[2,8,10,20,22,25,29,35],event:[20,28],eventu:13,ever:[16,34],everi:[0,1,8,10,13,21,22,26,27,28,31,32,34,35,36,39,40,41,44,46,49,50,51,52],everyth:[1,2,3,7,8,12,13,16,28,32,35,36,37,39,54],evolut:38,evolv:42,exact:[0,7,10,13,37],exactli:[2,10,26,28,31,35,40,44,49],exampl:[0,1,2,3,8,11,13,16,17,18,20,21,23,25,26,27,28,30,32,34,35,36,42,47,48,49],example_reconstruct:47,exce:[39,41],exceed:[26,29],except:[0,3,13,20,26,29,34,35],exclud:[8,20,26],exclus:[1,8,20,25],execut:[0,2,3,4,7,8,16,18,20,26,33,35],exercis:20,exisit:17,exist:[0,1,2,4,8,10,11,13,14,16,21,22,26,28,31,32,33,34,35,37,39,40,41,48,49,51],exit:[0,1,11,13],exit_cod:1,exit_statu:11,exot:8,exp:[10,34],expect:[1,3,7,21,25,26,33,35,36,40,44,50,52],expens:26,experiment:[33,35],explain:[1,8],explan:8,explicit:2,explicitli:20,explor:[5,38],exponenti:34,exponentialcool:34,expos:26,express:[20,44],ext:11,extend:[1,4,8,16,17,24,26,28,30,31,35,41,46],extendatcterm:29,extendatnterm:29,extended_search:[31,35],extens:[0,3,11,13,28,29,35],extension_penalti:29,extent:26,extern:[3,4,5,8,28,34],external_script:[3,8],extra:[2,3,8,16,22,28,37,48],extra_bin:26,extra_force_field:35,extract:[8,9,21,22,23,25,26,27,28,30,31,32,34,35,36,39,40,41,44,49,50],extractbackbon:21,extractloopposit:25,extractstatist:27,extrem:[3,22,28],eye:1,f_i:26,f_idx:40,f_vinaparticl:49,facilit:28,factor:[10,25,34,49],fail:[0,1,8,11,14,22,31,32,35],failur:[0,8,11,13,20,35,51],fall:32,fallback:51,fals:[1,8,10,11,13,22,25,26,28,29,31,34,35,36,44,47,49,50],fantast:8,far:[31,35],fast:[0,9,18,19,21,25,26,27,28,37,39,40,41,51],fasta:[0,13,28,30,35],fasta_fil:28,faster:[10,25,26,28,32,33,40],fastest:[32,35],favor:33,favourit:1,featur:[16,17,23,28,31,35,37,38,53],fed:[4,16],fedora:[3,8],fee:20,feed:[4,21,31],feel:[8,16],fellow:8,fetch:[13,16,18,28],few:[2,8,16,25,37,42],ff_aa:25,ff_aa_on:25,ff_aa_two:25,ff_ala:25,ff_arg:25,ff_asn:25,ff_asp:25,ff_cy:25,ff_cys2:25,ff_gln:25,ff_glu:25,ff_gly:25,ff_hisd:25,ff_hise:25,ff_ile:25,ff_leu:25,ff_lookup:[25,32,35],ff_lookup_charmm:37,ff_ly:25,ff_met:25,ff_phe:25,ff_pro:25,ff_ser:25,ff_thr:25,ff_trp:25,ff_tyr:25,ff_val:25,ff_xxx:25,fiddl:30,field:[20,35,37,51],fifti:20,figur:16,file:[0,1,2,3,4,5,7,8,12,13,15,16,17,18,20,25,26,27,28,33,39,41,48,51],filecheck:16,fileexist:11,fileextens:11,filegzip:11,filenam:[0,8,11,13,25,26,27,28,37,39,41,48,51],filenotfound:33,filesystem:28,fill:[4,8,13,16,23,26,29,30,31,33,35],fillfromdatabas:[31,35],fillfrommontecarlosampl:[31,35],fillloopsbydatabas:35,fillloopsbymontecarlo:35,filo:40,filtercandid:33,filtercandidateswithsc:33,final_model:[30,35],find:[3,4,7,8,10,16,21,23,28,31,32,35,44,46,48,51,53],findatom:28,findchain:42,findeigen3:20,finder:30,findmotif:28,findpython:3,findwithin:[8,28],fine:8,finish:52,fire:[1,7],first:[0,1,3,8,10,13,16,21,22,25,26,27,28,29,31,32,34,35,36,39,40,41,43,44,47,49,50,51],fit:[16,20,22,26,30,31,34,54],fix:[3,8,11,16,25,32,35,36,37,39,41],fix_cterm:32,fix_nterm:32,fix_surrounding_hydrogen:25,flag1:4,flag2:4,flag:[0,2,3,4,8,10,11,13,22,26,28,35,36,49,50],flanking_rot_angle_on:22,flanking_rot_angle_two:22,fletch:[26,47],fletcher:35,flexibl:[0,19,36,44,47,49,50,52],flip:51,flood:26,fluorin:49,flush:[1,16],fold:38,folder:[2,4,8,16,18,37],follow:[0,1,2,4,5,7,8,10,11,16,18,20,22,23,25,26,28,29,30,31,35,36,37,39,41,47,49,50,51],fontsiz:27,forbidden:8,forc:[25,32,35],force_const:[25,32],forcefield:[23,32,35],forcefieldaminoacid:25,forcefieldbondinfo:25,forcefieldconnect:25,forcefieldharmonicangleinfo:25,forcefieldharmonicimproperinfo:25,forcefieldljpairinfo:25,forcefieldlookup:[25,32,35,37],forcefieldperiodicdihedralinfo:25,forcefieldureybradleyangleinfo:25,forg:16,forget:[1,8],form:[14,20,24,25,26,30,35,40,49,51],formal:[31,32,49,51],format:[0,3,5,13,20,26,28,48],formula:33,forward:16,found:[1,3,4,8,11,13,16,19,21,23,26,28,31,32,33,34,35,36,44,46,49,51],foundat:1,four:[9,34],frac:10,fraction:[26,28,32,34],frag_db:[23,26,31,37],frag_length:[23,26,28],frag_map:26,frag_po:[23,26,28],frag_residu:[23,26],frag_seq:[23,26],frag_siz:26,fragdb:[23,24,26,31,35,37],fragger:[13,23,26,28,34,35],fragger_handl:[13,35],fragger_map:26,fraggerhandl:[0,13,26,28,35],fraggermap:[26,28],fragment:[0,3,9,13,22,23,24,28,31,32,34,35,38,47],fragment_db:35,fragment_handl:28,fragment_info:26,fragment_length:[26,28],fragmentinfo:[26,31],fragments_per_posit:28,fragmentsampl:34,frame:[3,16,35,36,46,47,49,50,52,54],frame_energi:49,frame_residu:[45,47],frameresidu:[45,49,50],framework:[8,19,38],free:[0,8,20,35,49,51],frequenc:[26,34],frm:36,frmrotam:[44,49,50,52],frmrotamergroup:[44,46,49,50],from:[0,1,2,3,4,5,6,7,8,9,10,11,13,16,18,20,21,22,23,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,44,46,47,49,50,51],fromdatachunk:28,fromhhm:26,fromhoriz:26,fromresidu:51,fromseqlist:28,front:[1,11,16],fs_data_:28,fs_server:28,fsstructureserv:[3,28],fstream:37,fudg:25,fulfil:[26,51],full:[0,1,3,8,10,21,25,26,28,29,30,31,34,35,36,47,49,50],full_queri:28,full_seq:[29,31],fullgapextend:[29,35],fulli:[8,16,21,22,26,29,30,36],function_typ:40,functions_specific_to_your_act:8,fundament:37,funni:[2,8],further:[10,28,29,35,36,37,50],furthermor:[37,50],futur:[3,25,26],gamma:[40,41,44],gamma_bin:41,gap:[0,3,9,18,24,25,28,30,31,33,35,36,54],gapextend:[29,35],gapfre:26,gapless:[0,13],gather:[4,12,16,26,28,47,49,51],gauc:51,gauch:51,gauche_minu:51,gauche_plu:51,gaussian1:49,gaussian2:49,gciiipgatcpgdyan:[31,35],gener:[0,1,2,3,5,7,8,10,13,14,16,18,19,20,23,24,26,27,28,30,31,32,33,35,36,37,39,40,41,48,49,50,51,54],generatedenovotrajectori:28,generatestructureprofil:26,geom:[21,22,25,26,28,32,35,44,49],geometr:[3,9,23,28,31,33,38,44],geometri:[12,23,26,31,54],geoom:43,get:[0,1,2,8,16,19,21,22,23,25,26,28,30,31,32,33,34,35,36,37,39,40,41,44,47,48,51,52,54],getaa:[21,22,25],getaaa:21,getaah:21,getactivesubrotam:49,getallatomposit:[21,32,36],getallatomscoringkei:31,getallatomweight:31,getanchoratomindex:21,getangl:47,getangularbins:26,getatomcount:8,getatomnam:21,getatomnameamb:21,getatomnamecharmm:21,getattachedview:28,getaveragescor:31,getbackbonelist:[23,26],getbackbonescoringkei:31,getbackboneweight:31,getbins:27,getbinsperdimens:27,getbound:22,getc:22,getca:22,getcb:22,getchain:29,getchainindex:29,getchainnam:29,getchains:8,getcharg:25,getclust:31,getclusteredcandid:31,getcollisiondist:49,getconfid:26,getcoordidx:26,getcoordinfo:26,getcpuplatformsupport:25,getcreationd:5,getdefault:[25,32,35],getdefaultlib:5,getdihedralangl:26,getdihedralconfigur:51,getdistbins:26,getdisulfidbridg:25,getdisulfidconnect:25,getdsspstat:26,getel:21,getenviron:21,getenvsetdata:8,getepsilon:25,getfirstindex:21,getforcefieldaminoacid:25,getfragmentinfo:[26,31],getframeenergi:49,getfudgelj:25,getfudgeqq:25,geth1index:21,geth2index:21,geth3index:21,getheavyindex:25,gethistogramindex:[22,27],gethistogramindic:27,gethnindex:21,gethydrogenindex:[21,25],getidentifi:28,getidx:28,getindex:[21,25],getinternalconnect:25,getinternalenergi:49,getinternalenergyprefactor:49,getlargestclust:31,getlastindex:21,getlength:29,getlist:28,getlooplength:25,getloopstartindic:25,getmass:25,getmaxnumatom:21,getmaxnumhydrogen:21,getn:[22,28],getnam:[28,47,49],getnonbondedcutoff:32,getnonplanar:33,getnum:31,getnumatom:[21,25],getnumb:31,getnumcandid:31,getnumchain:8,getnumcoord:26,getnumfrag:26,getnumhydrogen:21,getnumloopresidu:25,getnumresidu:[8,21,25],getnumstempair:26,getnumsubrotam:49,geto:22,getolc:[21,22],getomegators:[21,22],getomf:28,getomfbyidx:28,getoxtindex:25,getpeptideboundconnect:25,getphiprobabilitygivenpsi:27,getphitors:[21,22,47],getpo:[21,28,49],getposit:28,getpotentialenergi:25,getpredict:26,getprob:[27,49],getpsiprobabilitygivenphi:27,getpsitors:[21,22,47],getr:33,getresidu:28,getresiduedepth:26,getringpunch:33,getrotamericconfigur:51,getscor:[26,34],getscoringfunct:49,getselfenergi:49,getseqr:[21,40],getsequ:[21,22,26,28,31],getsequenceprofil:26,getsequenceprofilescoreskei:31,getsigma:25,getsimul:25,getsolventaccessibilitit:26,getstemrmsdskei:31,getstructureprofil:26,getstructureprofilescoreskei:31,getsubdb:26,getsubrotamerdefinit:49,getsystemcr:32,gettemperatur:[34,49],gettransform:22,getversionnumb:37,getvinaweightgaussian1:49,getvinaweightgaussian2:49,getvinaweighthbond:49,getvinaweighthydrophob:49,getvinaweightrepuls:49,getweight:[28,31],gggg:35,ggggagggg:35,gggggggggggggggggggg:35,git:[1,4,8,17,18,19,53],git_root:28,gitignor:8,gitlab:[5,53],give:[4,8,16,20,23,28,31,34,35,49],given:[0,1,3,4,8,9,10,11,13,14,21,22,25,26,27,28,29,30,31,32,33,34,35,36,37,39,40,41,44,47,49,50,51],glass:38,gln:[49,51],gln_ne2:21,global:[15,26,31,35,37,49],glu:[21,49,51],glu_oe1:21,glutam:49,glutamin:49,gly:[35,36,47,49,50],gly_n:21,glycin:[3,22,26,32,36,49],goal:[1,10,28,30],goe:[2,8,14,16,35,51],going:[8,9],goldfarb:35,goldstein1994:[10,38],goldstein:[10,38],good:[4,8,18,25,26,35],goodwil:20,got:2,govern:20,grain:8,grant:20,graph:[3,12,38,47,54],graph_initial_epsilon:36,graph_intial_epsilon:36,graph_max_complex:36,graphminim:[10,46],greatest:5,grep:2,grid:26,gromac:9,grossli:20,group:[4,14,24,26,27,28,41,44,45,46,47,50,52],group_definit:[27,41],group_idx:41,guarante:[26,28,31,34,36,37],gui:[8,27],guid:32,guidelin:[8,37],gzip:[0,5,11,13,28],haa:38,hand:[0,2,4,13],handl:[3,8,9,13,19,22,28,30,36,40,44,54],handler:28,happen:[1,8,25,28,29,34,35,49],hard:[43,49],hardwar:18,harmless:20,harmon:[25,32],harmonic_angl:25,harmonic_bond:25,harmonic_improp:25,has:[0,1,2,3,4,5,8,10,11,13,16,20,21,22,23,24,25,26,28,29,31,32,34,35,36,39,40,41,44,46,49,50,52],hasattr:35,hasdata:26,hasfraglength:26,hasfragmentinfo:31,hash:[3,26,28],hash_thresh:28,hash_tresh:28,hasnonplanar:33,hasringpunch:33,have:[0,2,3,4,5,7,8,10,13,14,16,18,20,21,22,25,26,28,29,31,33,34,35,36,37,39,40,41,44,46,47,50,51,52],hbond:[28,35,41,49,50],hbond_scor:37,hbondscor:[35,37,42],headach:8,header1:4,header2:4,header3:4,header4:4,header:[0,2,4,16,17],header_output_dir:4,headlin:8,heavi:[21,25,36,39,49,50],heavili:[26,47],helic:[22,24,25,28,35,41],helix:[7,18,22,34,47],hell:28,hello:37,hello_world:8,hellyeah:[7,18],help:[0,1,2,3,4,7,8,13,16,18,25,41],helpactiontest:1,helper:[4,12,16,17,21,25,31,36,37,54],hen:26,henc:[8,14,21,26,37],here:[0,1,2,3,4,8,11,13,14,16,18,19,21,22,25,26,27,28,30,31,32,33,34,35,37,39,41,44,48,51],herebi:20,herein:20,het:35,heurist:[3,28,35,50],heuristicprocessor:21,hg_po:49,hgfhvhefgdntngcmssgphfnpygkehgapvdenrhlg:0,hhblit:[0,13],hhm:[0,13,26,31],hhsearch:26,hide:[8,16],hierarch:[31,40],hierarchi:15,high:[3,8,16,28,30,35],high_resolut:22,higher:[31,40,41],highest:[15,33],highli:[2,8],hint:13,histidin:[25,49],histogram:[27,34],histori:16,hit:[1,10,16,27,28,32],hmm:38,hold:[20,28],home:[4,5],homo:[0,13],homolog:[0,12,18,19,35,38],homologu:26,honor:35,honour:35,hook:[8,17],horiz:26,horribl:50,host:[4,7,8,16],hotfix:16,how:[1,16,17,20,26,31,34,35,38,40,48,54],howev:[5,20,26],hparticl:49,hpp:37,hsd:[49,51],hse:[49,51],html:[2,3,8,16],http:[3,8,18,19,20,53],huge:28,hybrid:51,hydrogen:[3,21,22,25,35,38,41,49,50],hydrophob:49,hyphen:1,i_loop:[25,36],i_vinaparticl:49,id_:37,idea:[1,8,21,23,25,26,35,40,49,52],ideal:[22,32,52],ident:[3,26,27,28,41,51],identif:20,identifi:[0,3,13,14,20,26,28,31,35,36,39,41,49,50,51],ids:47,idx:[10,21,22,25,26,28,32,40,49],idx_ca_res_37:21,idxhandl:8,iff:[26,29,33],ifstream:37,ignor:[0,25,28,32,35],iii:20,illustr:26,imag:7,image_nam:5,imagehandl:22,imagin:8,imaginari:1,img:[7,22],immedi:[1,8,15,16],impact:[0,25,26],implement:[3,16,19,26,28,29,32,34,35,37,43,44,46,47,49,50,53],impli:20,implicit:2,improp:25,improv:[3,20,25,35,38,44],in_dir:4,in_fil:8,in_path:4,in_stream:37,in_stream_:37,inabl:20,inaccur:25,inaccurate_pot_energi:25,inact:52,inactive_internal_energi:52,incident:20,incl:[25,26,35],includ:[2,3,7,8,11,16,18,20,21,25,26,28,29,31,33,35,37,39,41,47],include_atom:28,include_ligand:35,inclus:[20,35],incompat:[31,32],incomplet:[35,48],inconsist:[10,13,21,22,25,26,29,31,32,36,40,49],inconveni:16,incorpor:[3,20],increas:[0,3,10,28,31,32,35,50],increment:28,incur:20,indemn:20,indemnifi:20,independ:[0,3,25,36,48],index:[8,10,21,22,25,26,27,28,29,31,32,33,34,35,39,40,41,45,49,50,51],index_four:25,index_on:25,index_thre:25,index_two:25,indic:[8,10,11,13,20,21,22,25,26,27,28,29,31,32,35,36,40,44,47,49],indirect:20,individu:[7,20,39,41],inf:[10,32,35],infin:32,infinit:32,influenc:[13,28,40,50],info:[26,28,31,35,40],inform:[0,5,7,8,13,16,20,22,23,26,28,29,31,34,35,38,40,41,42,53],infring:20,inherit:[1,39,40,41,46],init:16,init_bb_list:34,init_frag:34,initi:[3,10,21,22,26,28,31,32,34,35,36,39,40,41,46,49,50,51],initial_bb:31,initial_epsilon:[10,52],initialis:1,inlin:37,inner:14,input:[0,1,3,13,16,18,25,26,27,28,32,34,35,36,39,40,41,44,48,52],insert:[21,22,29,31,34,35,52],insertinto:[21,22,31],insertloop:[29,35],insertloopcleargap:[29,31,35],insid:[1,4],insight:16,instal:[8,16,37,54],instanc:[3,8,13,24,25,37,53],instead:[0,1,2,3,4,8,11,26,28,29,31,34,35,50],institut:20,instruct:2,int16:28,int16_t:37,int32:28,int32_t:37,int64:28,int_32_t:37,integ:[8,13,21,28,40],integr:[4,8,38],intend:[1,8,34,49],intent:26,intention:20,interact:[3,8,25,32,39,40,41,43,44,45,49],intercept:[39,41],interest:[1,10,25,26,34,37,49,51],interfac:[0,3,4,8,20,50],intermedi:8,intern:[0,1,3,4,5,8,16,21,24,25,26,27,28,31,32,33,34,35,36,37,38,39,40,41,46,49,50,52],internal_e_prefac:50,internal_e_prefactor:49,internal_energi:49,internet:8,interpl:51,interpol:[40,51],interpret:[8,11],intervent:8,intrins:2,introduc:[1,3,4,8,16,32,35],introduct:[12,17],invalid:[8,21,25,26,28,29,32,35,36,39,40,41,45,49,51],invalid_vinaparticl:49,invok:[2,4,8,15,16],involv:[16,30,44,49],iodin:49,ios:37,iostream:37,ipython:7,irrevoc:20,is_c_ter:[25,36],is_cter:25,is_hbond_acceptor:50,is_hbond_donor:50,is_major:35,is_n_ter:[25,36],is_nter:25,isallatomscoringsetup:[31,35],isallset:21,isanyset:21,isbackbonescoringsetup:35,isctermin:29,isempti:31,isen:14,isntermin:29,isoleucin:49,isset:21,issimilar:51,issourc:37,issu:[3,12,16,17,20,32,35,37],istermin:29,isvalid:47,item:[1,8,16,21,22,25,26,35,40],iter:[10,26,27,28,31,32,34,35,49],its:[0,1,2,4,5,8,11,16,20,25,26,30,31,33,34,35,41,48,49,50,51],itself:[3,4,8,16,26,28,34,36,37,39,41],januari:20,job:[8,26,34,35],johner:38,join:[8,21,23,26,31,32,34,36],jone:[38,49],jones1999:[26,38],journal:38,json:[0,13],jupyt:7,just:[1,2,8,13,15,16,23,25,26,28,29,31,35,50],kabsch1983:[26,38],kabsch:38,keep:[0,1,2,4,5,8,13,16,28,30,35,47],keep_non_converg:31,keep_sidechain:[8,36],kei:[0,13,26,28,31,34,35,39,40,41],kept:[8,16,25,31,32,36,45,49],kernel:[7,38],keyword:27,kic:[30,31,34],kicclos:34,kick:13,kill_electrostat:25,kind:[1,8,20],kinemat:32,kmer:3,kmer_search:3,know:[2,51],knowledg:51,known:[4,11,21,40,50],krivov2009:[10,38,47,49],krivov:38,kwarg:1,l_e:49,lab:48,label:[16,25],lack:35,languag:[4,20],larg:[3,5,27,32,35],larger:[10,14,22,26,28,35,50],largest:[28,31,44],last:[1,2,3,4,21,22,25,29,31,32,34,35,40,41,48],last_psi:22,later:[1,8,10,21,28,47],latest:[2,3,5,8],latter:[0,5,16,28,35],launcher:[4,8],law:20,lawsuit:20,layer:44,layout:[26,28,37],lbfg:35,lbfgs_toler:[],lddt:7,leach1998:[10,38],leach:38,lead:[0,8,9,11,22,25,31,32,36,39,41,48],learn:28,least:[0,2,4,8,10,16,20,22,25,26,35,39,41,44],leav:1,left:[10,11,32],legal:[8,20],lemon:38,len:[22,23,25,26,28,31,35,36,41,47],length:[0,9,10,21,24,25,26,27,28,29,31,32,34,35,36,37,39,40,44],length_dep_weight:35,length_depend:31,lennard:49,less:[0,10,16,22,25,26,27,28,31,35,39,41,50,51],let:[1,8,22,26,28,31,47],letter:[3,5,21,22,26,27,34,49],leu:49,leu_h:21,leucin:49,level:[2,3,8,14,15,16,30,35],lexicograph:35,liabil:20,liabl:20,lib64:8,lib:[5,7,37],libexec:[4,8],libpromod3_nam:4,librari:[0,3,4,8,15,28,33,36,38,47,50,54],library1:4,library2:4,licenc:48,licens:[3,17,19],licensor:20,lies:26,life:16,ligand:[3,35,36,49,50],like:[0,1,4,8,16,35,37,48],limit:[0,3,20,26,28,32,35],line:[0,1,7,8,9,12,16,27,41,54],linear:[26,28,31,34,39,40,41],linear_weight:[31,34,39,41],linearcombin:31,linearli:[28,49],linearscor:34,link:[0,2,4,8,16,20,21,25,26,28,34,36,39,40,41,42],link_cmd:4,linkcheck:[2,8,16],linker:[4,35],linker_length:35,list:[0,1,2,3,4,7,8,9,10,11,13,20,21,22,25,26,27,28,29,30,31,32,33,34,35,36,37,39,40,41,44,45,46,47,49,50,51,52],listen:8,literalinclud:8,litig:20,littl:[4,8,16,37],live:[4,8],lj_pair:25,load:[1,8,13,15,21,23,25,26,27,28,31,32,35,36,37,39,41,42,47,51,54],loadalign:[30,35],loadallatominteractionscor:39,loadallatompackingscor:39,loadamberforcefield:35,loadbb:26,loadbbdeplib:[0,36,47,48],loadcach:28,loadcbetascor:[31,34,41,42],loadcbpackingscor:41,loadcharmm:25,loadcharmmforcefield:35,loaddefaultallatomoverallscor:39,loaddefaultbackboneoverallscor:41,loadent:[0,13],loadfragdb:[23,24,31,35],loadhbondscor:41,loadlib:[0,36,48],loadpdb:[8,21,23,25,26,28,30,31,32,34,35,36,42,47],loadport:[25,26,27,37,39,41,51],loadreducedscor:41,loadsequenceprofil:[13,26,31],loadssagreementscor:41,loadstructuredb:[23,24,26,31,35],loadtorsionsampl:[22,24,27,34],loadtorsionsamplercoil:[24,31,35],loadtorsionsamplerextend:24,loadtorsionsamplerhel:24,loadtorsionscor:41,local:[2,5,7,25,26,27,39,41,51],localalign:28,localhost:7,locat:[2,3,4,5,10,22,24,26,28,29,37,39,41,49],log:[11,16,33,35,49,50],logic:0,loginfo:33,lone:49,lone_pair:49,longest:26,look:[5,8,11,16,22,26,36,40,50],lookup:[9,21,23,28,42],looooooong:10,loop:[0,3,7,8,13,18,19,21,24,26,27,28,29,30,33,35,36,37,38,39,40,41,50,54],loop_candid:31,loop_length:[25,26,31,36],loop_main:8,loop_po:25,loop_seq:31,loop_start_indic:[25,36],loopcandid:[28,30,33],loss:[16,20],lossi:26,lost:[1,16],lot:[1,8,13,16],low:[1,3,8,10,28,50],lower:[31,34,35,39,41],lowest:[31,33,34,49],lowest_energy_conform:34,lying:40,lysin:49,m_idx:28,m_vinaparticl:[49,50],mac:3,machin:[25,26,27,37,39,41,51],macro:[4,8],macromolecul:38,made:[4,5,20,51],magic:[8,37],mai:[0,1,2,4,8,11,13,16,20,21,25,29,32,35],mail:20,main:[8,35,37,51],mainli:[21,34,49],maintain:[8,16],mainten:17,maintin:34,major:[16,35],make:[3,4,7,8,11,13,16,18,20,21,22,26,37,40,48,54],makefil:[2,8],makestat:51,malfunct:20,malici:16,man:[2,8],manag:[4,8,20,42],mani:[11,13,26,28,32,33,35,50],manipul:22,manner:[8,10,34],manual:[1,2,5,8,9,16,26,31,34,35,37,49],map:[0,13,21,22,26,28,33,36],mariani:38,mark:[4,20,50],mass:25,massiv:28,master:[8,16],mat3:9,mat4:[9,22,28,35],mat:28,match:[0,4,13,22,25,26,27,28,31,32,34,35,40,41],materi:[1,8],math:33,mathemat:[31,32],matplotlib:27,matric:38,matrix:[9,26,28],matter:[4,7,28,53],max:[9,10,21,29,33,35,36,41,51,52],max_alpha:41,max_beta:41,max_complex:[10,52],max_count:[39,41],max_d:41,max_dev:34,max_dist:[31,40],max_dist_thresh:33,max_extens:35,max_gamma:41,max_iter:[28,31,35],max_iter_lbfg:35,max_iter_sd:35,max_length:29,max_loops_to_search:35,max_n:10,max_num_all_atom:35,max_p:50,max_prob:49,max_res_extens:35,max_step:32,max_to_show:14,max_triangle_edge_length:28,max_visited_nod:10,maxfraglength:26,maxim:[10,26,28,31,32,34,35,38,40,41],maximum:[10,26,31,32,33,34,49,50],mc_closer:34,mc_cooler:34,mc_num_loop:35,mc_sampler:34,mc_scorer:34,mc_step:[10,35],mcsolv:10,mean:[4,8,13,16,20,21,25,28,32,35,36],meaning:[26,31],meant:[18,21,26,33,35,50],measur:28,mechan:[18,20,28,31,32,34,35,40],meddl:[7,35],media:20,medium:20,meet:20,member:[8,13,31,35],memori:[10,26,28,35,37],mention:[1,2],mer:3,merchant:20,mere:20,merg:[16,25,28,29,31,35,36,40,49],merge_dist:35,mergegap:29,mergegapsbydist:35,mergemhandl:35,mess:[8,16,40],messag:[12,13,37],messi:16,met:49,meta:28,metal:49,methionin:[35,49],method:[0,1,10,13,21,25,26,27,28,32,35,36,37,50],metric:40,metropoli:[10,31,34],mhandl:[29,30,31,35],middl:16,might:[3,10,25,26,28,31,32,34,40,50,52],min:[28,31,41],min_alpha:41,min_beta:41,min_candid:31,min_d:41,min_dist:40,min_gamma:41,min_loops_requir:35,min_scor:31,min_terminal_anchor_s:35,min_triangle_edge_length:28,mincadist:22,mind:[1,8],minim:[3,12,18,22,25,26,31,32,35,39,40,41,46,47,54],minimizemodelenergi:35,minimum:[22,26,28,44],minor:[3,25,35],mirror:37,miser:14,mismatch:[21,35,40],miss:[0,11,13,25,28,35],mix:[0,4],mkdir:[2,8],mm_sy:[25,32],mm_sys_output:25,mm_system_cr:32,mmap:28,mmcif:[5,11],mmsystemcr:[25,32],mod:8,mode:[1,51],model:[1,3,7,8,12,13,14,19,21,25,26,29,32,34,36,40,41,42,45,46,49,50,52,53,54],model_termini:35,modelling_issu:35,modellinghandl:[3,29,31,35],modellingissu:35,modeltermini:35,modif:[20,35],modifi:[8,16,20,22,31,35],modified_crambin:31,modul:[1,3,11,12,15,16,17,18,23,24,28,30,37,44,47,49],modular:19,module_data:4,mol:[8,9,18,21,22,23,26,27,28,29,31,32,34,35,36,38,40,47,49,50,51,54],molck:7,molecular:[7,18,32,35],molprob:30,molprobity_bin:33,molprobity_execut:33,moment:8,monitor:1,monolith:8,mont:[0,3,10,28,31,34,35,46],montecarlo:3,mood:8,more:[1,2,4,7,8,10,13,14,16,20,28,35,44,49,53],most:[0,3,4,5,8,22,25,26,27,28,31,32,35,39,41,48,50],mostli:[4,16],motif:[3,30,38],motiffind:28,motifmatch:28,motifqueri:28,motion:[22,38],mount:[5,7],movabl:25,move:[2,3,8,16,25,31,32,34,35,37],movement:28,mpscore:33,msg:11,msgerrorandexit:11,msm:3,msse4:2,much:[10,26,28,35],multi:18,multipl:[0,2,3,4,8,13,14,18,25,28,31,35,36,39,41],multipli:[10,34],multitempl:13,multithread:38,must:[0,2,4,8,10,13,14,16,20,22,25,26,28,29,31,32,33,34,35,36,37,39,40,41,44,51],mutlipl:13,my_db_on:26,my_db_two:26,my_script:7,myclass:37,myclassptr:37,mytrg:0,n_a_vinaparticl:49,n_ad_vinaparticl:49,n_coord:9,n_d_vinaparticl:49,n_entri:28,n_i:10,n_j:10,n_num:29,n_po:[9,22,41],n_stem:[9,23,26,29,31,32,34],n_stem_phi:34,n_stem_plddt:28,n_ter:[32,50],n_vinaparticl:49,naivesolv:10,name:[0,1,3,4,5,7,8,11,13,14,20,21,25,26,27,28,29,31,33,35,44,48,49,51],name_pymod:4,namespac:[13,37],nan:[32,35,51],nativ:37,ndarrai:28,necessari:[8,22,34,40],necessarili:[20,52],need:[1,2,3,4,5,8,11,13,15,16,22,25,26,27,28,31,32,35,36,37,39,40,41,47,50],need_config_head:4,neg:[1,10,25,32,40],negelect:[0,35],neglect:[28,32,45,49,50],neglect_size_on:31,neglig:20,neighbor:[8,21,35],neighbour:[28,35,51],network:[22,44],never:[13,16,26,31,35,36,37,39,41],nevertheless:8,new_default:25,new_env_po:21,new_po:21,new_res_nam:49,new_siz:22,newli:[5,21,34],next:[1,8,16,22,27,28,29,37],next_aa:34,nglview:7,nice:8,nitrogen:[9,22,32,43,49,50],nobodi:1,node:10,node_idx:10,node_idx_on:10,node_idx_two:10,non:[0,3,4,10,13,16,20,24,25,27,28,29,30,31,32,35,37,47,48,50],non_rotamer:51,nonbonded_cutoff:[25,32],none:[13,26,28,33,34,35,36,49],nonredund:26,nonzero:51,norm:[28,41],normal:[20,33,39,41],normalis:40,notabl:26,note:[0,2,8,13,14,21,22,25,26,28,31,32,34,35,36,37,39,40,41,47,49,50],notebook:7,noth:[0,4,8,13,14,20,28,34,49],notic:[1,4,16,20],notwithstand:20,novel:[19,38],novo:[3,30,54],now:[3,8,14,16,18,22,26],nparticl:49,nterminalclos:34,null_model:31,num:[23,28,31,32,36],num_frag:[26,35],num_gap_extens:29,num_loop:31,num_residu:[21,25,34,36,39,40,41],num_residues_list:36,num_trajectori:28,number:[0,1,3,8,9,10,13,14,18,21,22,24,25,26,27,28,29,31,32,34,35,36,37,39,40,41,42,44,45,49,51],numer:35,numpi:[27,34],nussinov1991:[28,38],nussinov:[28,38],o_a_vinaparticl:[49,50],o_ad_vinaparticl:49,o_d_vinaparticl:49,o_po:22,o_vinaparticl:49,object:[0,3,8,13,14,20,21,22,23,25,26,27,28,30,31,32,35,36,37,39,41,44,46,47,49,50,54],oblig:20,observ:[10,26,28,32,50,52],obtain:[10,18,20,23,28,35],obviou:16,occupi:[45,50],occur:[21,28,35,40,41],ocparticl:49,odd:26,off:[1,8,14,35],offend:33,offer:[6,20,24,30,49,51],offset:[0,3,13,26,31,35],ofstream:37,often:[8,11,13,32],og_po:49,olc:22,old:[33,35],oligom:[0,13,30],oligomer:3,olson:38,omega:[21,22],omf:[3,28],omit:35,onc:[1,3,8,16,25,28,31,32,34,46,51,52],one:[0,1,2,4,5,6,8,9,10,13,14,15,16,20,21,22,25,26,28,29,31,32,34,35,36,39,40,41,44,49,50,51,52],one_letter_cod:[21,23,26,31,32,33,34,36],ones:[22,28,31,34,50,51],onli:[0,1,2,3,4,8,10,11,13,14,15,16,20,21,22,25,26,28,29,31,33,34,35,36,37,39,41,44,47,48,49,50],only_longest_stretch:26,onto:[1,22,26,28],oparticl:49,open:[13,25,26,27,37,39,41,51,53],openmm:[2,18,25,32],openstructur:[2,3,5,7,19,38],oper:[3,10,16,18,21,26,28,40],opt:[11,13,16],optim:[0,2,3,10,13,25,26,27,31,33,35,38,39,41,44,47,48,51,54],optimis:8,optimize_subrotam:[36,44],option:[0,2,3,5,7,13,26,31,32,35,51],order:[0,5,13,21,25,26,29,31,35,37,40],org:[3,20],organ:[8,26,51],orient:[9,32,41],orig_indic:[31,33],origin:[5,7,9,13,16,20,22,26,31,34,35,40,52],orthogon:[28,33],ost:[0,1,2,3,4,5,7,8,9,11,13,15,18,21,22,23,26,27,28,29,30,31,32,33,34,35,36,37,40,41,42,43,44,47,49,50,51,54],ost_double_precis:2,ost_ent:33,ost_librari:4,ost_root:[2,8],other:[0,1,2,3,4,8,10,14,16,20,21,22,31,32,35,36,39,41,42,49,50,51,52,53,54],other_index:22,other_particl:49,other_res_index:21,otherwis:[1,4,8,10,14,16,20,21,22,25,26,28,29,31,32,34,35,39,40,41,49,51],our:[3,4,5,8,16,26,28,31],out:[0,1,2,4,8,14,16,20,21,25,26,27,28,29,31,34,47,51],out_path:4,out_po:25,out_stream:37,out_stream_:37,outdat:[3,5,7],outer:[14,26],outlier:33,output:[0,5,8,11,13,25,27,28,32],output_dir:4,outsid:[8,40],outstand:20,over:[2,4,13,16,26,28,32,34,35,49],overal:[10,34,40,46],overhead:25,overlap:[25,34,35,36],overli:16,overload:37,overrid:[2,5,25,35,50],overridden:4,overriden:5,overview:[8,16],overwrit:[31,49],overwritten:25,own:[1,3,4,16,17,20,25,26,35,48,49,50],owner:20,ownership:20,oxt:[9,21,25],oxygen:[22,35,43,49,50],p_vinaparticl:49,pack:21,packag:[4,8,16],pad:[22,37],page:[2,8,20],pai:1,pair:[9,10,25,26,27,28,32,34,36,37,39,40,41,44,49,51],pairwis:[3,8,10,22,28,31,35,39,41,42,43,44,46,47,49,50,52],pairwise_energi:10,pairwisefunct:[40,41],pairwisefunctiontyp:40,pairwisescor:[8,35,42,49],paper:[43,44,47,49],paragraph:[1,8],parallel:26,paramet:[1,4,8,9,10,11,13,14,15,21,22,24,25,26,27,28,29,31,32,33,34,35,36,38,39,40,41,43,44,45,46,48,49,50,51,52],parameter_index:26,parametr:[3,32,35,36,49,50],parent:35,pars:[0,11,12,25,26,27,28,39,41,51,54],parser:12,part:[0,1,8,16,18,20,21,26,34,35,40,44,46,47,49,54],parti:[16,17,20],partial:29,particip:[36,44],particl:[3,25,26,32,41,43,44,45,47,50],particle_typ:49,particular:[8,10,20,26,31,32,34,49,51],partner:[39,40,41],pass:[13,16,21,25,26,28,29,32,34,35,44,45,49,50],past:[8,16,22,29],patent:20,path:[1,2,4,5,7,8,11,16,18,25,26,27,28,33,39,41,51],path_to_chemlib:15,path_to_dockerfile_dir:5,path_to_promod3_checkout:6,pattern:[28,38],paus:14,pdb:[0,5,7,8,11,13,18,21,22,23,24,25,26,28,30,31,32,33,34,35,36,42,47],penal:[29,35],penalti:[29,35],pentam:28,pentamatch:[3,28],pentamatch_n:28,pentamermatch:[],penultim:3,peopl:16,pep:[1,16],peptid:[3,21,23,25,26,28,35,36,47],peptide_sel:28,per:[4,8,10,12,16,21,27,31,34,35,39,40,41,44],percent:20,percentag:33,perfect:8,perfectli:8,perform:[0,10,16,18,19,20,25,28,31,32,33,34,35,37,40,44],period:25,periodic_dihedr:25,periodic_improp:25,permiss:[8,20],permut:10,perpetu:20,perspect:33,pertain:20,phase:25,phe:[33,49,51],phenix:33,phenylalanin:49,phi:[21,22,26,27,32,34,41,47,50,51],phi_bin:[41,51],phi_handl:47,philippsen:38,phipsisampl:34,phosphoru:49,phosphoserin:35,phrase:8,pick:[31,34],pickl:28,pictur:8,piec:[8,28],pipelin:[0,3,14,19,26,28,29,30,33,34,47,53,54],pivot:[31,32,34],pivot_on:[31,32],pivot_thre:[31,32],pivot_two:[31,32],place:[1,2,4,8,11,13,16,20,26],plain:[0,13],plan:16,planar:[3,30,35],plane:33,platform:[18,25],playground:7,plddt:28,pleas:[2,8,16,28,31,32,35,53],plot:27,plt:27,plu:[8,13,15,26,44,49],pluribu:28,pm3_csc:16,pm3_openmm_cpu_thread:[18,25,35],pm3_runtime_profiling_level:14,pm3argpars:[0,11,12,54],pm3argumentpars:[0,11,13],pm_action:[1,4,8],pm_action_init:8,pm_bin:1,pna:38,png:27,pocket:28,pocket_view:28,point:[2,8,13,15,21,26,28,33,34,35,40,49,51],pointer:[2,8,37],polar:[49,50],polar_direct:49,polici:8,pop:[16,31,34,40],popul:[2,16],port_str_db:26,portabl:[4,17,25,26,27,39,41,51],portable_binary_seri:37,portable_fil:4,portablebinarydatasink:37,portablebinarydatasourc:37,pos:[21,22,26,28,32,49],pos_end:28,pos_on:28,pos_start:28,pos_two:28,posit:[3,8,9,22,23,25,26,27,28,29,31,32,34,35,36,38,39,40,41,43,44,45,46,49,50,54],possibl:[0,3,8,10,13,16,20,22,25,26,27,28,29,31,32,34,35,36,37,39,40,41,44,46,49,51],post:13,postprocess:36,pot:25,pot_:32,potenti:[3,10,23,25,26,28,31,32,35,36,37,38,41,49],power:[7,20],pqhpg:0,practic:[4,8,25,26],pre:[8,16,35],pre_commit:[8,16],preceed:36,precis:[2,31,35],precomput:[23,54],pred:40,predefin:[4,18,25,35,39,41],predict:[13,26,28,35,38,40,41],prefactor:49,prefer:[2,4,20,26,51,52],prefilt:35,prefix:[1,4,8,11],prepar:[8,20,35],preprocess:28,present:[3,22,28,32,36,49,50,51],prev_aa:34,prevent:[1,8],previous:[25,26,31,36,40],primary_rot_angl:22,principl:[3,34,40],print:[1,2,5,20,22,23,25,26,31,32,33,35,42],printstatist:26,printsummari:14,prior:35,privat:[1,37],pro:[21,27,49,51],probabilist:[26,50],probability_cutoff:50,probabl:[4,8,10,13,16,26,27,28,31,32,34,49,50,51],problem:[3,7,10,13,16,26,28,31,32,34,35,40,42,44,46,48,52],problemat:[3,5,28],proce:42,procedur:[10,28,34,36,50],process:[1,3,13,16,21,25,28,32,34,35,37,40,45,49,51],processor:5,produc:[0,1,2,4,8,10,26,29,33,35],product:[1,3,16,20],prof:[0,26,31],prof_dir:26,prof_path:26,profil:[0,3,12,13,26,28,31,35,38,54],profiledb:26,profilehandl:[13,26,28,31,35],prog:13,program:[4,5,8,12],project:[3,4,5,8,16],prolin:[22,33,49],promin:[0,20],promod3:[1,3,7,9,10,11,13,14,15,17,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54],promod3_checkout:7,promod3_mod:4,promod3_nam:4,promod3_name_head:4,promod3_path:8,promod3_root:8,promod3_shared_data_path:[8,37],promod3_unittest:[1,4,8],promod:[5,7],promot:8,propag:[8,22],proper:[16,26,50],properli:[1,35,39,41,50],properti:[21,22,35,50,51],propos:[29,31,32,34,44],proposed_posit:34,proposestep:34,prot:[8,23,26,28,32,34,36,47],prot_rec:8,protein:[0,18,19,24,25,28,33,34,35,36,38,45,47,49,54],proteinogen:26,proton:[21,25,49,51],prototyp:19,provid:[0,1,2,3,4,5,7,8,13,16,20,21,22,23,25,26,28,29,31,32,33,34,35,36,37,40,48,49,50,51],prune:[10,52],pscoringfunct:49,pseudo:[34,35,39,41],psi:[21,22,26,27,32,34,41,47,50,51],psi_bin:[41,51],psi_handl:47,psipr:[13,26,28,40,41],psipred_confid:41,psipred_pr:28,psipred_predict:[26,28,35],psipred_st:41,psipredpredict:[23,28,35,40],pssm:[0,13],publicli:20,pull:[5,8,16,18],pullterminaldelet:35,punch:[1,3,30,35],pure:0,purpos:[8,10,20,35,51],push:16,pushverbositylevel:13,put:[1,4,8,11,13,33,35],pwd:5,py_run:[1,4,8],pyc:1,pylint:16,pylintrc:16,pymod:[4,8,16],pyplot:27,pytest:8,python3:8,python:[1,2,3,4,5,7,8,11,14,15,16,18,21,22,25,28,32,37,49,50],python_root_dir:2,pythonpath:8,qmeandisco:40,qualiti:35,quantum:38,queri:[26,28,51],query_idx:28,query_list:28,querylib:51,question:[3,27],quick:17,quickli:[5,8,32],quit:[8,13],rackovski:38,radian:[9,22,25,27],radii:[33,43],radiu:[8,33,39,41,49],raihvhqfgdlsqgcestgphynplavph:0,rais:[0,9,10,13,21,22,25,26,27,28,29,31,32,33,34,35,36,39,40,41,44,45,49,50,51],rama_iffi:33,ramachandran:33,random:[10,22,24,27,31,32,34],random_se:31,randomized_frag:22,randomli:[27,34],rang:[8,9,21,22,23,25,26,27,28,29,32,34,35,39,40,41,51],rank:31,rapid:38,rare:8,rather:[5,7,8,11,16,34,51],raw:[7,18,25,26,27,28,30,31,37,39,41,44,51],rawmodel:[3,8],rbvi:3,reach:[0,28,29,32],read:[0,8,11,13,16,25,26,27,28,29,36,37,39,41,48,51],readabl:[0,8,13,20,51],readdunbrackfil:48,reader:[16,18],readi:[2,5,51],readm:[2,8,48],real:[8,13,37],realli:[1,2,8,11,16],reappear:16,reason:[8,16,20,32,34,52],rebas:16,rebuild:[2,8],recalcul:27,receiv:20,recent:[3,16],recip:[3,6],recipi:20,recoginz:49,recogn:[0,13],recognis:[1,8,16],recognit:38,recommend:[2,5,8,20,25,35],reconstruct:[0,3,8,18,21,22,25,30,32,35,44,47,49,52,54],reconstructcbetaposit:22,reconstructcstemoxygen:22,reconstructor:[32,35,36],reconstructoxygenposit:22,reconstructsidechain:[0,3,8,35,36],reconstructtest:8,record:[1,35],recreat:16,redistribut:20,redo:28,reduc:[3,25,28,35,41],reduced_scor:37,reducedscor:[35,37,42],redund:[24,31,33],ref_backbon:[23,26],ref_fil:8,refactor:3,refer:[1,4,8,18,19,21,22,23,25,26,28,34],referenc:8,refin:28,refine_thresh:28,refresh:31,regard:[20,32,44],region:[0,25,28,29,32,34,35,45,50],regist:[4,8],regress:38,regularli:5,reinterpret_cast:37,reintroduc:3,reject:[31,32,34],rel:[4,5,9,10,26,28,32,41],relat:[4,8,13,26,28,37,38,49],relax:[30,35],releas:[2,5,8,16],relev:[2,3,4,7,25,28,36,49],reli:5,remain:[20,30,34,35],rememb:[1,8,34],remodel:[28,31,36],remodel_cutoff:36,remov:[2,3,10,22,25,26,29,31,33,35,36,40,47,49],removecoordin:26,removeterminalgap:35,renumb:[26,35],reorder:35,reordergap:35,repeat:28,replac:[3,20,21,22,34,35],replacefrag:22,report:[1,3,8,35],reportmolprobityscor:33,repositori:[1,4,8,16,53],repres:[10,20,21,23,26,27,28,29,40,41,44,45,46,47,50,52,54],represent:[22,23,25,26,27,37,39,41,49,51],reproduc:[3,20,35],reproduct:20,repuls:49,request:[26,28,48,51],requir:[0,2,3,5,8,13,16,19,20,21,22,26,27,28,31,32,35,36,37,42,49,50,51],reread:26,res:[9,21,22,25,28,31,32,33,36,40,49,50,51],res_depth:26,res_idx:[49,50],res_index:21,res_indic:[21,25,36],res_list:[21,25,32,36],res_num:21,resembl:[16,28],reserv:11,reset:[10,21,25,32,34,40,49],resid:5,residu:[0,3,8,9,21,22,23,24,25,26,27,28,29,31,32,33,34,35,36,38,39,40,41,42,44,45,47,49,50,51],residue_depth:26,residue_index:[45,49,50],residue_list:35,residuedepth:26,residuehandl:[9,21,22,26,29,31,32,33,34,35,49,50,51],residuehandlelist:21,residueview:[33,35],resiz:[22,37],resnum:[21,22,29,31,35,36,40],resnum_on:40,resnum_rang:35,resnum_two:40,resolut:[22,32],resolv:[16,21,32,35],resolvecystein:44,resort:35,respect:[9,25,28,35],respons:[8,16,20],rest:[1,8,16,36],restor:[22,31,34,40],restraint:[26,32],restrict:[8,16,29],restructuredtext:[4,8],result:[0,2,3,8,10,20,25,27,28,31,32,33,34,35,36,38,44,51],resum:14,retain:[20,28,35],retriev:28,return_count:28,reus:[35,36],review:[16,53],revis:20,reviv:16,rewrit:1,richardson:38,ridig:36,right:[1,2,8,10,13,20],rigid:[0,3,30,32,34,36,46,47,49,51,52,54],rigid_frame_cutoff:36,rigidblock:28,rij:43,ring:[3,30,35],ring_punch_detect:35,risk:20,rmsd:[22,23,26,28,31,32],rmsd_cutoff:[26,31,32],rmsd_thresh:[26,28],rname:28,rnum:40,robot:38,role:13,root:[2,4,8,16],rosetta:41,rot:36,rot_constructor:47,rot_group:[47,50],rot_lib:50,rot_lib_entri:50,rota_out:33,rotam:[0,3,33,36,38,44,45,47,52,54],rotamer:[48,51],rotamer_group:[44,46,47],rotamer_id:47,rotamer_librari:[3,35,36,48],rotamer_model:36,rotamer_on:44,rotamer_res_indic:36,rotamer_two:44,rotamerconstructor:[3,47,49],rotamergraph:[36,46,47,52],rotamergroup:49,rotamerid:[47,50,51],rotamerlib:[35,36,37,48,50,51],rotamerlibentri:[50,51],rotat:[9,22],rotatearoundomegators:22,rotatearoundphipsitors:22,rotatearoundphitors:22,rotatearoundpsitors:22,rotationaroundlin:9,roughli:24,round:51,routin:[1,18,31],royalti:20,rrm:36,rrmrotam:[44,49,50],rrmrotamergroup:[44,46,49,50],rst1:4,rst2:4,rst:[4,8,16],rsync:8,rule:[5,8,9,16],run:[0,4,7,8,10,13,14,15,16,25,26,31,32,33,35,54],runact:1,runexitstatustest:1,runmolprob:33,runmolprobityent:33,runnabl:8,runner:1,runtest:[1,8],runtim:[0,3,10,12,35,50,54],runtimeerror:[9,10,21,22,25,26,27,28,29,31,32,34,35,36,39,40,41,44,45,48,49,50,51],runtimeexcept:27,s_id:26,s_vinaparticl:49,safe:[2,8],said:4,same:[0,1,2,4,7,8,10,13,14,20,21,25,26,28,31,32,33,34,35,36,37,39,40,41,42,45,48,49,50,51],samiti:35,sampl:[0,3,8,22,23,28,31,34,35,54],sampled_frag:34,samplemontecarlo:[3,34],sampler:[3,23,24,26,28,30,31,32,35],samplerbas:34,sampling_start_index:34,sander:38,saniti:2,sanity_check:2,satisfi:49,save:[16,22,25,26,27,28,31,34,37,39,40,41,51],savebb:26,savecach:28,savefig:27,savepdb:[7,18,21,22,25,26,28,30,31,32,34,35,36,47],saveport:[25,26,27,37,39,41,51],sc_data:32,sc_rec:[32,36],sc_rec_test:36,sc_result:32,scale:22,scatter:27,scheme:[1,8,13,21,26,29,34],schenk:38,schmidt:38,schwede:[5,8,18,19,38,53],sci:38,scicor:[5,8,18,19,53],scondari:35,scope:14,score:[0,3,8,13,19,23,26,28,29,30,33,34,35,36,37,38,39,41,44,47,54],score_contain:31,score_env:[31,34,42],score_threshold:44,score_vari:35,scorecontain:31,scorer:[3,17,28,30,31,35,40,42,54],scorer_env:[28,31,34],scorerbas:34,scoring_weight:28,scoringgapextend:[29,35],scoringweight:[28,31,35],scratch:[26,34],script:[2,3,4,7,11,13,16,17,18,26,28,37,48,54],scriptnam:11,scriptpath:8,scwrl3:[36,42,50],scwrl3disulfidscor:[43,44],scwrl3pairwisescor:43,scwrl3rotamerconstructor:50,scwrl4:[0,36,38,44,47,50],scwrl4particletyp:49,scwrl4rotamerconstructor:[3,47,50],scwrlrotamerconstructor:3,seamlessli:16,search:[0,2,3,8,21,26,28,31,33,35,36,41,44,49,50],search_kei:28,searchdb:[23,26],second:[8,10,22,25,26,28,31,32,35,39,40,41,43,44],secondari:[3,13,26,28,38,41],secondli:8,section:[1,4,7,17,20,53,54],see:[0,1,3,7,8,9,10,11,13,16,18,20,21,25,26,27,28,29,31,33,34,35,37,39,40,41,51],seed:[10,24,27,31,32,34],seem:16,segment:22,select:[3,10,26,28,34,35,36,47],selenium:35,self:[1,8,10,44,47,49],self_energi:[10,49],sell:20,send:11,sensibl:35,sensit:[3,28],sent:20,seok:38,separ:[1,3,8,10,20,25,27,35,39,41,44],seq:[13,21,23,26,28,29,31,35,40,42],seq_idx_on:28,seq_idx_two:28,seq_one_idx:28,seq_sep:[39,41],seq_tpl:[31,35],seq_trg:[31,35],seq_two_idx:28,seqid:[24,26,28],seqid_thresh:28,seqprof:13,seqr:[0,21,23,26,28,29,31,34,35,36,39,40,41],seqres_str:[21,32,36],seqsim:26,sequenc:[0,3,7,8,13,18,21,22,23,27,28,29,30,31,32,34,35,38,39,40,41],sequencefromchain:42,sequencehandl:[21,26,28,29,35,40],sequencelist:[21,35,40],sequenceprofil:26,sequenti:[22,35],ser:49,serial:[26,37],serializ:37,serin:49,serv:[1,13,26,28,31,34],server:28,servic:[16,20],set:[1,2,4,8,10,11,13,15,16,18,21,22,25,26,28,31,32,33,34,35,36,37,39,40,41,44,47,49,50,51,52],setaa:22,setactivesubrotam:49,setallatomscoringkei:31,setaroundomegators:22,setaroundphipsitors:22,setaroundphitors:22,setaroundpsitors:22,setbackbonescoringkei:31,setbackrub:22,setboolprop:50,setc:22,setca:22,setcb:22,setcharg:25,setcompoundschemlib:[19,54],setcpuplatformsupport:25,setdefault:25,setdisulfidconnect:25,setenergi:[39,41],setenviron:[21,32,36,40],setepsilon:25,setfraggerhandl:35,setframeenergi:[47,49],setfudgelj:25,setfudgeqq:25,setinitialenviron:[21,31,32,34,36,40,42],setinternalconnect:25,setinternalenergi:49,setinternalenergyprefactor:49,setinterpol:51,setmass:25,setn:22,setnonbondedcutoff:32,seto:22,setolc:22,setpeptideboundconnect:25,setphitors:22,setpo:21,setprob:49,setpsipredpredict:[35,40,41],setpsitors:22,setresidu:21,setscor:41,setsequ:22,setsequenceoffset:35,setsequenceprofil:35,setsequenceprofilescoreskei:31,setsigma:25,setstemrmsdskei:31,setstructureprofil:26,setstructureprofilescoreskei:31,settemperatur:49,setup:[0,2,5,8,13,17,25,28,31,32,34,35,37,39,40,41,42],setupdefaultallatomscor:[31,35],setupdefaultbackbonescor:[31,35],setupsystem:25,setvinaweightgaussian1:49,setvinaweightgaussian2:49,setvinaweighthbond:49,setvinaweighthydrophob:49,setvinaweightrepuls:49,setweight:31,sever:[0,2,3,5,8,10,13,24,26,27,28,31,32,35,36,40,41,42,44,48,49,51,52],sg_pos_on:43,sg_pos_two:43,shake:34,shall:20,shanno:35,shapovalov2011:[38,48],shapovalov:38,share:[5,7,12,17,20,25,37,53,54],shared_ptr:37,shebang:8,sheet:35,shelenkov:38,shell:[1,2,7,8,11],shift:[22,26,29,35],shiftctermin:29,shiftextens:29,ship:[5,48],shorten:35,shorter:[28,35],shortest:31,shortli:8,should:[1,2,4,5,7,8,10,11,13,16,18,20,22,23,26,27,28,31,32,34,35,36,37,40,45,47,49],show:[1,8,13,14,31,34,47,50],show_fil:7,showcas:[1,21,25,27],shown:[8,14,35],shrink:22,shrug:38,side:[8,35,38],sidechain:[3,8,18,19,25,30,32,33,35,37,38,43,44,45,46,48,50,51,52,54],sidechain_pymod:8,sidechain_reconstructor:35,sidechain_rst:8,sidechain_test_data:8,sidechain_test_orig:36,sidechain_test_rec:36,sidechain_unit_test:8,sidechainparticl:50,sidechainreconstructiondata:[30,32],sidechainreconstructor:[25,30,32,35],sidenot:[26,36],sig1:51,sig2:51,sig3:51,sig4:51,sigma:25,silent:1,sim:25,similar:[1,2,3,13,16,23,26,28,40,41,51],similardihedr:51,similarli:[2,25,35],simpl:[0,9,22,26,28,34,35,39,40,41,49,51],simpler:[25,35],simplest:[5,8,30],simpli:[5,21,22,28,31,32,34,35,49,50,51],simplic:[23,26],simplif:13,simplifi:[3,22,25,26],simul:[10,25,31,32,34,35],sinc:[1,2,4,8,10,11,16,18,22,25,26,27,28,49],singl:[2,4,8,10,21,22,25,26,28,31,32,34,35,36,40,41,45,48,49,50,52],singleton:25,singular:[3,6,28,33,54],sink:37,sit:8,site:[3,5,8,28],size:[8,21,22,26,27,28,32,34,35,37,39,40,41],sizeof:37,skip:[0,1,8,16,26,28,35,50],slide:28,slight:35,slightli:35,slope:28,slow:37,slower:[18,25,26,27,35,39,41,51],small:[8,26,32,35,36],smaller:[22,26,28,32,35,41],smallest:47,smallish:[2,8],smart:16,smng:3,smooth:38,smtl:35,snippet:7,soding2005:[26,38],softsampl:34,softwar:[8,20,38,49],sol:47,sole:[1,16,20,28],soli:38,solis2006:[24,38],solut:[8,10,28,31,32,34,35,36,46,47],solv:[10,16,47,52],solvent:26,solventaccess:26,solver:3,some:[1,2,4,5,6,7,8,13,16,21,23,26,30,33,34,35,36,37,40,42,47,50,51],somedata:37,someth:[1,8,11,16,26],sometim:16,somewher:4,soon:[10,32,41,47,51],sort:[1,4,10,14,31,34,51],sound:[16,50],sourc:[1,2,4,8,13,16,18,19,20,26,28,31,32,33,35,37,51],source1:[4,16],source2:[4,16],source3:4,source4:4,source_chain_idx:35,source_mhandl:35,sp3:51,space:[3,10,28,34,38],span:35,sparticl:49,spatial:[8,28,42],spawn:[1,8],spdbv:35,spdbv_style:35,special:[1,2,4,8,20,25,34,49,50,51],specif:[1,3,8,20,25,26,27,28,31,34,38,40,47,48,49,51],specifi:[0,2,3,4,5,9,10,22,26,27,28,31,32,35,36,40,49,51],specimen:11,speed:[3,25,35,38],spent:[14,18],sphere:[43,49],sphinx:[2,8],spin:38,spit:[29,34],split:[28,42],sport:8,squar:26,src:[8,16],ss_agreement:41,ss_agreement_scor:37,ssagre:26,ssagreementscor:[37,42],sse:2,sstream:37,stabil:38,stabl:[5,16],stack:16,stage:[1,2,4,8,17,18,28,37,40,51],stai:[1,8,10,16,34],standalon:7,standard:[2,8,12,13,16,21,27,37,41,51],start:[0,1,2,4,7,10,14,16,17,19,21,22,25,26,28,29,31,32,34,35,36,40,41,42,54],start_idx:31,start_resnum:[21,22,26,31,34,35,36,39,40,41],start_resnum_list:36,start_rnum:40,start_temperatur:[10,34],starter:1,startscop:14,stash:[16,31,34,40],state:[1,2,8,20,21,26,31,34,40,41,44,49,51],statement:20,staticruntimeprofil:14,statist:[14,26,38],statu:[1,8],std:37,stderr:1,stdout:1,steadili:[10,34],steepest:[32,35],stem:[9,22,25,26,28,29,31,32,34,35,36],stemcoord:9,stempairorient:9,step:[3,8,10,14,16,18,19,28,29,30,31,32,34,40,44],stereo:35,stereo_chemical_problem_backbon:35,stereochem:[3,35],steric:51,still:[8,14,25,26,35,37],stop:[1,8,14,28,29,32],stop_criterion:32,stoppag:20,storabl:26,storag:[3,8,21,25,28,39,41],store:[0,1,3,7,8,9,16,18,21,22,25,26,27,28,29,31,32,34,35,36,37,47],stori:8,str:[1,11,13,14,15,21,22,25,26,27,28,29,31,32,33,34,35,36,37,39,40,41,49,51],str_len:37,straight:16,strategi:51,stream:37,stretch:[21,26,28,31,34,35,40,41],strict:16,strictli:3,string:[0,3,11,13,26,27,29,37],stringstream:37,strip:[0,35],struc:5,struct:[5,26,37],struct_db:23,structral:[21,40],structur:[0,3,8,13,17,18,19,21,22,23,24,25,27,28,29,30,31,33,34,35,36,37,38,40,41,42,47,49,50,52,54],structural_db:31,structuralgap:[29,33],structuralgaplist:[29,35],structure_db:[26,28,31,35,37],structure_db_on:26,structure_db_two:26,structure_dir:26,structure_id:26,structure_path:26,structure_sourc:13,structuredb:[3,13,24,26,28,31,35,37],structuredbdatatyp:26,structureprofil:26,studer:38,stuff:[26,39],style:[35,40,41,49],sub:[8,26],sub_frag:22,sub_res_list:26,subclass:[8,13],subdir:8,subfold:8,subject:[8,20],sublicens:20,submiss:20,submit:20,submodul:8,submodule1:16,subpart:28,subrotam:[0,3,44,47,49,50,54],subrotameroptim:[36,52],subsequ:[10,20,22,35,49],subset:[0,13,25,26,28,31,32,35,36],subst:26,subst_matrix:26,substitut:26,substweightmatrix:26,subtre:[4,8],succeed:29,success:[10,11,34],successfulli:5,sudo:7,suffici:26,suffix:11,sugar:6,suggest:[5,8,43],suit:[1,8,26],sulfur:[43,44,49,50],sum:[14,28,29,35,36,43,44,49],sum_:10,sum_i:10,sum_ie_:10,summari:[14,26],superpos:[22,26,28,31,32,34],superpose_stem:22,superposed_rmsd:[22,31],superposeonto:22,superposit:[3,28,31,34],superpost:28,supersed:20,supervis:1,support:[0,1,2,3,8,11,13,18,20,25,32,35],suppos:[16,34],sure:[2,7,8,13,16,26],surfac:26,surotam:49,surprisingli:50,surround:[25,26,32,36,39,41],swap_thresh:28,symmetr:[26,40,51],symmetri:[39,41],sync:8,syntax:20,sys:[1,13,32],system:[1,2,4,8,16,20,23,26,32,42,54],t_sampler:27,tabl:26,tag:5,tail:22,tailor:[21,35],take:[8,10,21,26,27,28,31,32,34,35,37,41,44,50,52],taken:[0,21,25,32,34,50],talk:1,target:[0,1,2,4,8,13,18,26,28,30,31,32,34,35,40,49],target_chain_idx:35,target_mhandl:35,target_pdb:33,target_posit:28,target_sequ:26,task:[8,16,32,35,37,40],techniqu:[10,38],tell:[1,8,11,13,16,26],temperatur:[10,31,34,49],templat:[0,1,3,13,18,28,30,35,37,40],temporari:[26,35],temporarili:16,term:[8,20,26,49,51,52],termin:[0,1,9,11,18,20,21,22,25,29,31,32,34,35,36,50],terminal_len:34,terminal_seqr:34,termini:[0,3,29,34,35],terminu:[26,34,35],test:[2,7,12,16,17,18,25,26,33,37],test_:8,test_act:[8,17],test_action_:1,test_action_do_awesom:1,test_action_help:1,test_awesome_featur:8,test_check_io:37,test_cod:8,test_doctest:8,test_foo:4,test_portable_binari:37,test_reconstruct_sidechain:8,test_sidechain_reconstruct:8,test_submodule1:16,test_suite_:4,test_suite_your_module_run:8,test_your_modul:16,testcas:[1,8],testcasenam:8,testexit0:1,testpmexist:1,testreconstruct:8,testutil:[1,8],text:[1,13,20,35],than:[4,8,13,14,16,21,22,26,28,31,32,33,35,36,41,44,50],thats:[26,41],thei:[2,5,8,16,21,22,25,26,27,28,31,32,33,34,35,44,49,50,51,53],them:[4,8,16,22,25,26,27,28,29,31,35,36,40,45],themselv:25,theoret:34,theori:[20,38],therefor:[5,8,22,24,26,28,32,34,35,51],thereof:[20,25],thi:[0,1,2,3,4,5,7,8,10,11,12,13,14,15,16,17,18,20,21,22,23,25,26,27,28,29,30,31,32,33,34,35,36,37,39,40,41,42,44,47,49,50,51,52,54],thing:[1,2,8,16,26,28,35,51],think:10,third:[16,17,20,31,32],thoroughli:16,those:[0,1,2,4,8,10,13,16,20,25,28,31,35,36,37,39,41,47,50,51],though:[25,35,37],thr:49,thread:[18,25,35,38],three:[1,4,16,21,22,27,28,31,33,34,38,41,49,51],threonin:49,thresh:[22,49,51],threshold:[10,26,28,32,33,35,36,40,51],through:[1,8,9,20,22,26,29,35,39,41],throughout:[13,16,24,25],thrown:26,thu:[5,11,33,49],tidi:16,tightli:16,time:[1,5,8,13,14,16,18,28,35],timer:14,tini:[16,35],titl:[20,27],tlc:[21,49],tlc_an:21,tlctorotid:[47,49],tmp_buf:37,todens:22,toentiti:[7,18,21,22,25,26,32,34,36],toframeresidu:49,togeth:[8,16,26,44],toler:35,tolerance_lbfg:35,tolerance_sd:35,too:[13,16,31,32,35,37],tool:[3,4,23,35,37,42,47],toolbox:16,top:[2,6,8,14,15,16,28,32,35],topic:[1,8,16],topn:28,topolog:[25,32],torrmrotam:49,torsion:[0,13,21,22,23,24,26,28,31,32,34,35,41,47],torsion_angl:47,torsion_bin:41,torsion_plot:27,torsion_sampl:[22,26,31,32,34,35,37],torsion_sampler_coil:[28,37],torsion_sampler_extend:[28,37],torsion_sampler_hel:37,torsion_sampler_helix:28,torsion_sampler_list:26,torsion_scor:37,torsionprob:26,torsionsampl:[22,24,26,27,28,31,32,34,35,37,41],torsionscor:[35,37,42],tort:20,total:[10,14,26,28],touch:[1,8,25,32],toward:[0,3,8,13,26,28,29,32,35,39,41,47,49,50,52],tpl:[0,28,30,31,35],tpl_n:28,tpr:[49,51],trace:35,track:[3,11,20,30,35,47],trade:20,trademark:20,tradition:11,trail:0,train:[24,31,35],trajectori:[28,34],tran:[22,49,51],transfer:[20,28],transfer_bfactor:28,transform:[9,20,22,28,34,35,51],translat:[4,8,20,26,49,51],transomegators:22,treat:[3,8,25,28,35,36,37,51],treatment:50,tree:[1,4,8,10,16,46,47],treepack:3,treesolv:[10,36,47],trg:[0,13,31,35],trg_seq:28,tri:[10,28,29,35,44,51],triangl:28,trick:[1,7,16],trigger:[1,4,8,48],tripeptid:27,tripl:11,triplet:[23,28,34,41],trott2010:[38,49],trott:38,trp:[33,49,51],trustworthi:16,tryptophan:49,ttccpsivarsnfnvcrlpgtpea:[31,35],ttccpsivarsnfnvcrlpgtpeaicatgytciiipgatcpgdyan:35,ttccpsivarsnfnvcrlpgtpeaicatytgciiipgatcpgdyan:[31,35],tupl:[9,10,11,22,25,26,28,29,33,35,36,44],turn:[0,1,11,14,16,35],tutori:8,tweak:35,twice:[14,40],two:[1,7,8,10,16,21,22,25,26,28,29,31,32,35,36,37,39,40,41,43,44,47,49,51],txt:[1,2,4,8,16,20],type:[0,1,8,9,10,11,13,14,20,21,22,24,25,26,27,28,29,31,32,33,34,35,36,37,39,40,41,43,47,48,49,50,52],typedef:37,typenam:37,typic:[22,28,34,35,47,51],tyr:[33,49,51],tyrosin:49,ucsf:3,uint32_t:37,uint:37,ultra:26,uncertain:8,uncharg:50,unclos:35,undefin:25,under:[4,8,20],undergo:[28,32,34,36],underli:[28,29,31,49],underscor:1,understand:16,understood:0,undo:10,unexpect:2,unfavor:[22,32],unfavour:[32,34,44],unfortun:16,unhandl:[0,13],uniba:[5,8,18,19,53],uniform:32,union:20,uniprot:28,uniprot_ac:28,uniprotac:28,uniqu:[0,13,28,31,34,51],unique_pentam:28,unit:[2,16,17,37],unittest:[1,8,16],univers:[8,53],unix:16,unknown:25,unless:[13,20,21,22,25,31,39,41],unlik:47,unrecognis:11,unset:[21,25,36],unsupport:[13,37],until:[8,10,28,32,35,40,50],untouch:22,untrack:1,unum:28,unus:16,upat:5,updat:[3,5,7,8,16,21,25,28,29,31,32,35,36,40,42],updatedistribut:27,updateposit:[25,32],upon:[26,32,34],upper:28,ups:3,urei:25,urey_bradley_angl:25,usabl:16,usag:[0,3,10,13,24,26,31,32,36],use:[0,2,3,4,5,8,10,13,16,18,20,21,22,23,25,26,27,28,30,31,32,34,35,36,37,47,48,49,50],use_amber_ff:35,use_bbdep_lib:36,use_frm:36,use_full_extend:35,use_scoring_extend:35,used:[0,2,3,4,8,9,10,11,13,14,15,16,18,21,24,25,26,27,28,29,31,32,33,34,35,36,37,39,40,41,42,45,47,48,49,50],useful:[1,3,8,10,11,22,26,28,30,31,32,35,50],user:[1,5,8,19,28,53],userlevel:1,uses:[5,8,10,22,25,27,28],using:[1,2,3,4,7,8,10,18,20,21,22,25,26,28,31,33,34,35,37,38,39,41,44,45,46,47,49,50,51,54],usr:[2,5,7,8],usual:[1,2,4,8,13,14,16,22,31,35,39],util:18,utilis:[8,16],v_size:37,val:[27,49],valid:[0,10,16,22,26,29,34,35,36,48,51],valin:49,valu:[2,10,11,13,21,22,25,26,28,31,33,34,35,37,39,40,41,44,47,49,50,51,52],valueerror:[28,35],vanish:40,varadarajan:38,vari:[4,37],variabl:[1,2,3,8,14,18,25,33,35,37,49],varianc:33,variant:[25,31],variou:[1,2,4,16,30],vec3:[9,21,22,26,32,33,43,44,49],vec3list:[28,49],vector:[25,27,28,31,37,49],verbal:20,verbos:1,veri:[1,8,11,16,25,28,35,37],verif:13,verifi:[1,11,16],version:[2,3,5,8,16,20,26,28,35,37,48,49],vertic:28,via:[1,5,8,13,15,25],view:[7,13,16,27,35,40],vina:[3,36,38,50],vinaparticletyp:[49,50],vinarotamerconstructor:50,virtual:8,visibl:36,vision:38,visual:18,volum:5,wai:[1,2,4,5,8,16,22,23,25,28,31,41,47,49],wait:8,walk:[1,8],want:[1,2,3,8,15,16,22,26,28,31,32,35,40,49,50,51,52,53],warn:[3,8,16,35],warranti:20,watch:8,web:[2,8],weight:[3,26,28,31,34,35,39,41,49],weird:[28,32,47],well:[0,4,16,21,27,28,29,31,35,37,41,47,50,51],went:[0,8],were:[16,26,31,35],wester:38,wether:10,what:[1,8,11,13,16,23,26,36,40],when:[1,3,4,5,8,10,13,14,21,22,25,26,27,28,29,31,34,35,36,37,38,40,41,44,47,48,49,50,51],whenev:[8,21,31,40],where:[0,1,3,4,5,8,10,11,13,14,16,20,21,22,25,26,27,28,31,35,37,39,40,41,48,49,50,51],wherea:26,wherev:20,whether:[3,5,8,10,11,13,20,22,25,26,31,32,34,35,36,39,40,41,49,50,51],which:[0,1,2,4,8,9,11,12,13,16,18,20,21,22,25,26,27,28,29,31,32,33,34,35,36,37,39,40,41,49,50,51],whistl:8,whitespac:0,who:[10,47],whole:[1,2,8,16,20,22,26,28,35,49],whom:20,why:[1,16],width:[10,37,47],wild:4,window:28,window_length:28,wise:4,wish:[2,17,27,35],with_aa:31,with_db:31,within:[2,3,4,8,14,16,20,21,25,28,29,33,35,36,39,41,51],without:[0,1,3,4,8,11,13,20,25,29,32,35,40,51],wolfson:[28,38],won:[0,35,36,50],word:4,work:[1,2,4,5,7,8,14,16,18,20,25,29,35,37,50],worldwid:20,worst:16,worth:53,would:[1,2,8,11,22,26,27,35,44,49],wrap:26,wrapper:[1,4,8,15,35],write:[0,17,20,26,27,32,37,39,41,51],writebasetyp:37,writemagicnumb:37,writetypes:37,writeversionnumb:37,written:[8,20,28,37],wrong:[2,13],wwpdb:5,www:[3,20],x_1:10,x_2:10,x_i:10,x_j:10,x_n:10,xlabel:27,xlim:27,xml:8,xxx:[22,49],xxx_num_atom:21,xxx_num_hydrogen:21,year:1,yet:[26,31,35],ylabel:27,ylim:27,you:[0,1,2,3,4,5,7,8,10,11,13,14,15,16,18,20,21,22,23,25,26,27,28,30,31,32,33,34,35,36,37,39,40,41,47,48,49,50,51,52,53],your:[1,2,4,5,13,14,16,17,18,20,22,26,28,35,37,48],your_modul:[8,16],yourself:[2,8,10,16,35,50],yyyi:20,zero:[0,26,28,35,51],zhou2005:[26,38],zhou:38,zip:[26,47]},titles:["ProMod3 Actions","<code class=\"docutils literal notranslate\"><span class=\"pre\">test_actions</span></code> - Testing Actions","Building ProMod3","Changelog","ProMod3\u2019s Share Of CMake","Docker","ProMod3 and Containers","Singularity","Contributing","Geometry functions","Graph Minimizer","<code class=\"docutils literal notranslate\"><span class=\"pre\">helper</span></code> - Shared Functionality For the Everything","<code class=\"docutils literal notranslate\"><span class=\"pre\">core</span></code> - ProMod3 Core Functionality","<code class=\"docutils literal notranslate\"><span class=\"pre\">pm3argparse</span></code> - Parsing Command Lines","Runtime profiling","<code class=\"docutils literal notranslate\"><span class=\"pre\">SetCompoundsChemlib()</span></code>","ProMod3 Setup","Documentation For Developers","Getting Started","ProMod3","License","Handling All Atom Positions","Representing Loops","<code class=\"docutils literal notranslate\"><span class=\"pre\">loop</span></code> - Loop Handling","Loading Precomputed Objects","Generate <code class=\"docutils literal notranslate\"><span class=\"pre\">ost.mol.mm</span></code> systems","Structural Data","Sampling Dihedral Angles","Modelling Algorithms","Handling Gaps","<code class=\"docutils literal notranslate\"><span class=\"pre\">modelling</span></code> - Protein Modelling","Handling Loop Candidates","Fitting Loops Into Gaps","Model Checking","Generating Loops De Novo","Modelling Pipeline","Sidechain Reconstruction","Using Binary Files In ProMod3","References","All Atom Scorers","Backbone Score Environment","Backbone Scorers","<code class=\"docutils literal notranslate\"><span class=\"pre\">scoring</span></code> - Loop Scoring","Other Scoring Functions","Disulfid Bond Evaluation","Frame - The Rigid Part","Rotamer Graph","<code class=\"docutils literal notranslate\"><span class=\"pre\">sidechain</span></code> - Sidechain Modelling","Loading Rotamer Libraries","Representing Sidechains - Rotamers &amp; Co.","Rotamer Constructor","Rotamer Library","Subrotamer Optimization","Contributing","Documentation For Users"],titleterms:{"class":[21,22,26,27,29,31,36,39,40,41],"default":35,"function":[4,9,11,12,29,36,40,43,49,50],For:[4,11,17,54],Into:32,The:[1,5,7,16,21,22,26,27,31,35,36,45,49,50,51],Using:[2,37],With:33,acid:[21,25,27],action:[0,1,4,5,8],actiontestcas:1,afdb:28,algorithm:28,align:35,all:[21,32,39],allatomclashscor:39,allatomenv:21,allatomenvposit:21,allatominteractionscor:39,allatomoverallscor:39,allatompackingscor:39,allatomposit:21,allatomscor:39,amino:[21,25,27],angl:27,api:1,app:7,argument:13,atom:[21,32,39],avail:7,backbon:[32,40,41,51],backbonelist:22,backboneoverallscor:41,backbonescor:41,backbonescoreenv:40,base:[26,39,41],baseclass:50,binari:37,block:[28,49],bond:44,branch:16,build:[0,2,5,35,49],can:49,candid:31,cbetascor:41,cbpackingscor:41,ccd:32,chain:26,changelog:3,check:33,clashscor:41,closer:34,cmake:[1,2,4,16],code:37,command:13,compound:[5,7],configur:51,construct:40,constructor:50,contain:6,contribut:[8,53],conveni:40,cooler:34,core:12,creat:[1,25],data:[26,37],databas:26,defin:[26,27],definit:4,depend:[2,51],detect:33,develop:17,dihedr:27,directori:16,distinguish:21,disulfid:44,docker:5,document:[4,8,17,19,54],entri:51,environ:40,evalu:44,everyth:11,exampl:[31,37],execut:[1,5],exisit:37,extend:29,featur:[8,26],fiddl:35,file:[11,37],find:26,finder:28,fit:32,forcefield:25,fragment:26,frame:45,from:43,gap:[29,32],gener:[25,34],geometr:26,geometri:9,get:[18,49],git:16,graph:[10,46],group:49,handl:[21,23,29,31,35],have:1,hbondscor:41,header:37,helper:11,hook:16,how:[8,49],imag:5,instal:2,integr:1,introduct:[4,11,13],issu:8,keep:31,kic:32,librari:[5,7,48,51],licens:[8,20],line:13,load:[24,48],lookup:25,loop:[22,23,25,31,32,34,42],loopcandid:31,mainten:4,make:[1,2],messag:11,minim:10,model:[0,18,28,30,31,33,35,47],modul:[4,8],mol:25,molprob:33,motif:28,must:1,non:[33,51],novo:[28,34],object:[24,34,45],optim:52,ost:25,other:43,output:1,own:[5,8],pairwis:40,pairwisescor:41,pars:13,parser:13,part:45,parti:8,particl:49,pipelin:[18,35],planar:33,pm3argpars:13,portabl:37,posit:21,precomput:24,profil:14,promod3:[0,2,4,5,6,8,12,16,18,19,37],protein:30,psipredpredict:26,punch:33,quick:8,raw:35,reconstruct:36,reducedscor:41,refer:38,registri:5,relax:32,releas:3,repres:[22,49],rigid:[28,45],ring:33,rotam:[46,48,49,50,51],rotamerconstructor:50,rotamerid:49,run:[1,2,5,18],runtim:14,sampl:27,sampler:[27,34],score:[31,40,42,43,49,50],scorer:[8,34,39,41],script:[1,5,8],scwrl3:[43,49],scwrl4:49,sequenc:26,setcompoundschemlib:15,setup:16,share:[4,8,11],sidechain:[0,36,47,49],sidechainreconstructiondata:36,sidechainreconstructor:36,singular:7,smallest:49,specif:50,ssagreementscor:41,stage:16,start:[8,18],step:35,structur:[16,26],subclass:1,subrotam:52,system:25,test:[1,4,8,11],test_act:1,third:8,torsion:27,torsionscor:41,track:31,triplet:27,type:51,unit:[1,4,8],user:54,vina:49,write:8,your:8}})
\ No newline at end of file
+Search.setIndex({"docnames": ["actions/index", "actions/index_dev", "buildsystem", "changelog", "cmake/index", "container/docker", "container/index", "container/singularity", "contributing", "core/geometry", "core/graph_minimizer", "core/helper", "core/index", "core/pm3argparse", "core/runtime_profiling", "core/setcompoundschemlib", "dev_setup", "developers", "gettingstarted", "index", "license", "loop/all_atom", "loop/backbone", "loop/index", "loop/load_loop_objects", "loop/mm_system_creation", "loop/structure_db", "loop/torsion_sampler", "modelling/algorithms", "modelling/gap_handling", "modelling/index", "modelling/loop_candidates", "modelling/loop_closing", "modelling/model_checking", "modelling/monte_carlo", "modelling/pipeline", "modelling/sidechain_reconstruction", "portableIO", "references", "scoring/all_atom_scorers", "scoring/backbone_score_env", "scoring/backbone_scorers", "scoring/index", "scoring/other_scoring_functions", "sidechain/disulfid", "sidechain/frame", "sidechain/graph", "sidechain/index", "sidechain/loading", "sidechain/rotamer", "sidechain/rotamer_constructor", "sidechain/rotamer_lib", "sidechain/subrotamer_optimizer", "user_contributions", "users"], "filenames": ["actions/index.rst", "actions/index_dev.rst", "buildsystem.rst", "changelog.rst", "cmake/index.rst", "container/docker.rst", "container/index.rst", "container/singularity.rst", "contributing.rst", "core/geometry.rst", "core/graph_minimizer.rst", "core/helper.rst", "core/index.rst", "core/pm3argparse.rst", "core/runtime_profiling.rst", "core/setcompoundschemlib.rst", "dev_setup.rst", "developers.rst", "gettingstarted.rst", "index.rst", "license.rst", "loop/all_atom.rst", "loop/backbone.rst", "loop/index.rst", "loop/load_loop_objects.rst", "loop/mm_system_creation.rst", "loop/structure_db.rst", "loop/torsion_sampler.rst", "modelling/algorithms.rst", "modelling/gap_handling.rst", "modelling/index.rst", "modelling/loop_candidates.rst", "modelling/loop_closing.rst", "modelling/model_checking.rst", "modelling/monte_carlo.rst", "modelling/pipeline.rst", "modelling/sidechain_reconstruction.rst", "portableIO.rst", "references.rst", "scoring/all_atom_scorers.rst", "scoring/backbone_score_env.rst", "scoring/backbone_scorers.rst", "scoring/index.rst", "scoring/other_scoring_functions.rst", "sidechain/disulfid.rst", "sidechain/frame.rst", "sidechain/graph.rst", "sidechain/index.rst", "sidechain/loading.rst", "sidechain/rotamer.rst", "sidechain/rotamer_constructor.rst", "sidechain/rotamer_lib.rst", "sidechain/subrotamer_optimizer.rst", "user_contributions.rst", "users.rst"], "titles": ["ProMod3 Actions", "<code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">test_actions</span></code> - Testing Actions", "Building ProMod3", "Changelog", "ProMod3\u2019s Share Of CMake", "Docker", "ProMod3 and Containers", "Singularity", "Contributing", "Geometry functions", "Graph Minimizer", "<code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">helper</span></code> - Shared Functionality For the Everything", "<code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">core</span></code> - ProMod3 Core Functionality", "<code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">pm3argparse</span></code> - Parsing Command Lines", "Runtime profiling", "<code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">SetCompoundsChemlib()</span></code>", "ProMod3 Setup", "Documentation For Developers", "Getting Started", "ProMod3", "License", "Handling All Atom Positions", "Representing Loops", "<code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">loop</span></code> - Loop Handling", "Loading Precomputed Objects", "Generate <code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">ost.mol.mm</span></code> systems", "Structural Data", "Sampling Dihedral Angles", "Modelling Algorithms", "Handling Gaps", "<code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">modelling</span></code> - Protein Modelling", "Handling Loop Candidates", "Fitting Loops Into Gaps", "Model Checking", "Generating Loops De Novo", "Modelling Pipeline", "Sidechain Reconstruction", "Using Binary Files In ProMod3", "References", "All Atom Scorers", "Backbone Score Environment", "Backbone Scorers", "<code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">scoring</span></code> - Loop Scoring", "Other Scoring Functions", "Disulfid Bond Evaluation", "Frame - The Rigid Part", "Rotamer Graph", "<code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">sidechain</span></code> - Sidechain Modelling", "Loading Rotamer Libraries", "Representing Sidechains - Rotamers &amp; Co.", "Rotamer Constructor", "Rotamer Library", "Subrotamer Optimization", "Contributing", "Documentation For Users"], "terms": {"A": [0, 1, 3, 7, 8, 9, 10, 13, 16, 20, 25, 26, 27, 28, 29, 31, 33, 34, 35, 36, 37, 38, 40, 41, 42, 44, 46, 47, 48, 49, 51], "pure": 0, "command": [0, 1, 7, 8, 11, 12, 16, 18, 54], "line": [0, 1, 7, 8, 9, 12, 16, 27, 41, 54], "interfac": [0, 3, 4, 8, 20, 50], "i": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 45, 47, 48, 50, 51, 52, 53, 54], "provid": [0, 1, 2, 3, 4, 5, 7, 8, 13, 16, 20, 21, 22, 23, 25, 26, 28, 29, 31, 32, 33, 34, 35, 36, 37, 40, 48, 49, 50, 51], "you": [0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 13, 14, 15, 16, 18, 20, 21, 22, 23, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 47, 48, 49, 50, 51, 52, 53], "can": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 18, 19, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 39, 40, 41, 42, 44, 45, 46, 47, 48, 50, 51, 52, 53], "execut": [0, 2, 3, 4, 7, 8, 16, 18, 20, 26, 33, 35], "pm": [0, 1, 4, 7, 8, 11, 13, 16, 18, 37], "help": [0, 1, 2, 3, 4, 7, 8, 13, 16, 18, 25, 41], "list": [0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 13, 20, 21, 22, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 44, 45, 46, 47, 49, 50, 51, 52], "possibl": [0, 3, 8, 10, 13, 16, 20, 22, 25, 26, 27, 28, 29, 31, 32, 34, 35, 36, 37, 39, 40, 41, 44, 46, 49, 51], "everi": [0, 1, 8, 10, 13, 21, 22, 26, 27, 28, 31, 32, 34, 35, 36, 39, 40, 41, 44, 46, 49, 50, 51, 52], "type": [0, 1, 8, 9, 10, 11, 13, 14, 20, 21, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 43, 47, 48, 49, 50, 52], "h": [0, 13, 21, 25, 26, 33, 38, 41], "get": [0, 1, 2, 8, 16, 19, 21, 22, 23, 25, 26, 28, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 44, 47, 48, 51, 52, 54], "descript": [0, 5, 13, 16, 20, 34, 35, 51], "its": [0, 1, 2, 4, 5, 8, 11, 16, 20, 25, 26, 30, 31, 33, 34, 35, 41, 48, 49, 50, 51], "usag": [0, 3, 10, 13, 24, 26, 31, 32, 36], "here": [0, 1, 2, 3, 4, 8, 11, 13, 14, 16, 18, 19, 21, 22, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 37, 39, 41, 44, 48, 51], "we": [0, 1, 2, 5, 7, 8, 10, 11, 13, 15, 16, 18, 20, 21, 22, 23, 25, 26, 27, 28, 31, 32, 33, 34, 35, 36, 37, 41, 42, 47], "most": [0, 3, 4, 5, 8, 22, 25, 26, 27, 28, 31, 32, 35, 39, 41, 48, 50], "promin": [0, 20], "simpl": [0, 9, 22, 26, 28, 34, 35, 39, 40, 41, 49, 51], "exampl": [0, 1, 2, 3, 8, 11, 13, 16, 17, 18, 20, 21, 23, 25, 26, 27, 28, 30, 32, 34, 35, 36, 42, 47, 48, 49], "run": [0, 4, 7, 8, 10, 13, 14, 15, 16, 25, 26, 31, 32, 33, 35, 54], "full": [0, 1, 3, 8, 10, 21, 25, 26, 28, 29, 30, 31, 34, 35, 36, 47, 49, 50], "protein": [0, 18, 19, 24, 25, 28, 33, 34, 35, 36, 38, 45, 47, 49, 54], "homologi": [0, 12, 18, 19, 35, 38], "pipelin": [0, 3, 14, 19, 26, 28, 29, 30, 33, 34, 47, 53, 54], "from": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 16, 18, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 49, 50, 51], "f": [0, 5, 10, 13, 28, 33, 50], "file": [0, 1, 2, 3, 4, 5, 7, 8, 12, 13, 15, 16, 17, 18, 20, 25, 26, 27, 28, 33, 39, 41, 48, 51], "c": [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, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "j": [0, 10, 13, 25, 38], "object": [0, 3, 8, 13, 14, 20, 21, 22, 23, 25, 26, 27, 28, 30, 31, 32, 35, 36, 37, 39, 41, 44, 46, 47, 49, 50, 54], "p": [0, 8, 11, 13, 27, 37, 41, 50, 51], "e": [0, 2, 3, 4, 5, 8, 11, 13, 16, 18, 21, 22, 25, 26, 28, 29, 31, 32, 35, 36, 37, 39, 41, 47, 49, 50, 51], "": [0, 1, 2, 8, 10, 13, 14, 15, 17, 20, 21, 22, 25, 26, 28, 31, 34, 35, 36, 37, 38, 39, 40, 41, 47, 49, 50, 53], "o": [0, 8, 9, 21, 22, 25, 26, 28, 29, 32, 35, 37, 38, 41], "filenam": [0, 8, 11, 13, 25, 26, 27, 28, 37, 39, 41, 48, 51], "r": [0, 13, 21, 23, 26, 28, 31, 32, 34, 36, 37, 38, 47], "t": [0, 2, 7, 8, 10, 16, 20, 28, 29, 31, 32, 34, 35, 36, 37, 38, 41, 49, 50, 51], "aln": [0, 28, 30, 31, 35, 40], "fasta": [0, 13, 28, 30, 35], "tpl": [0, 28, 30, 31, 35], "pdb": [0, 5, 7, 8, 11, 13, 18, 21, 22, 23, 24, 25, 26, 28, 30, 31, 32, 33, 34, 35, 36, 42, 47], "thi": [0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 44, 47, 49, 50, 51, 52, 54], "read": [0, 8, 11, 13, 16, 25, 26, 27, 28, 29, 36, 37, 39, 41, 48, 51], "target": [0, 1, 2, 4, 8, 13, 18, 26, 28, 30, 31, 32, 34, 35, 40, 49], "templat": [0, 1, 3, 13, 18, 28, 30, 35, 37, 40], "align": [0, 3, 13, 18, 26, 28, 30, 38, 40], "match": [0, 4, 13, 22, 25, 26, 27, 28, 31, 32, 34, 35, 40, 41], "structur": [0, 3, 8, 13, 17, 18, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 40, 41, 42, 47, 49, 50, 52, 54], "produc": [0, 1, 2, 4, 8, 10, 26, 29, 33, 35], "gap": [0, 3, 9, 18, 24, 25, 28, 30, 31, 33, 35, 36, 54], "less": [0, 10, 16, 22, 25, 26, 27, 28, 31, 35, 39, 41, 50, 51], "which": [0, 1, 2, 4, 8, 9, 11, 12, 13, 16, 18, 20, 21, 22, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 49, 50, 51], "store": [0, 1, 3, 7, 8, 9, 16, 18, 21, 22, 25, 26, 27, 28, 29, 31, 32, 34, 35, 36, 37, 47], "The": [0, 2, 3, 4, 8, 10, 11, 13, 14, 17, 18, 19, 20, 23, 24, 25, 28, 29, 30, 32, 33, 34, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48, 52, 54], "output": [0, 5, 8, 11, 13, 25, 27, 28, 32], "control": [0, 3, 8, 10, 20, 31, 34, 35, 36, 40, 49, 50, 51, 52], "flag": [0, 2, 3, 4, 8, 10, 11, 13, 22, 26, 28, 35, 36, 49, 50], "clustal": [0, 13], "json": [0, 13], "plain": [0, 13], "gzip": [0, 5, 11, 13, 28], "At": [0, 2, 5, 8, 10, 28, 31], "least": [0, 2, 4, 8, 10, 16, 20, 22, 25, 26, 35, 39, 41, 44], "one": [0, 1, 2, 4, 5, 6, 8, 9, 10, 13, 14, 15, 16, 20, 21, 22, 25, 26, 28, 29, 31, 32, 34, 35, 36, 39, 40, 41, 44, 49, 50, 51, 52], "must": [0, 2, 4, 8, 10, 13, 14, 16, 20, 22, 25, 26, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 44, 51], "given": [0, 1, 3, 4, 8, 9, 10, 11, 13, 14, 21, 22, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 44, 47, 49, 50, 51], "cannot": [0, 8, 13, 20, 25, 26, 27, 28, 29, 35, 37, 39, 41, 48, 49, 50, 51], "mix": [0, 4], "format": [0, 3, 5, 13, 20, 26, 28, 48], "multipl": [0, 2, 3, 4, 8, 13, 14, 18, 25, 28, 31, 35, 36, 39, 41], "chain": [0, 8, 13, 21, 22, 23, 24, 28, 29, 31, 34, 35, 36, 38, 39, 40, 41], "append": [0, 13, 22, 26, 27, 28, 35, 47], "order": [0, 5, 13, 21, 25, 26, 29, 31, 35, 37, 40], "ar": [0, 1, 2, 3, 4, 5, 7, 8, 10, 11, 12, 13, 14, 16, 18, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 44, 45, 47, 48, 49, 50, 51, 52], "name": [0, 1, 3, 4, 5, 7, 8, 11, 13, 14, 20, 21, 25, 26, 27, 28, 29, 31, 33, 35, 44, 48, 49, 51], "default": [0, 1, 2, 3, 4, 5, 8, 10, 13, 14, 15, 18, 21, 22, 25, 26, 27, 28, 30, 31, 32, 33, 34, 36, 39, 41, 47, 49, 50], "b": [0, 7, 8, 9, 16, 20, 28, 35, 41], "see": [0, 1, 3, 7, 8, 9, 10, 11, 13, 16, 18, 20, 21, 25, 26, 27, 28, 29, 31, 33, 34, 35, 37, 39, 40, 41, 51], "buildrawmodel": [0, 3, 30, 31, 35], "note": [0, 2, 8, 13, 14, 21, 22, 25, 26, 28, 31, 32, 34, 35, 36, 37, 39, 40, 41, 47, 49, 50], "input": [0, 1, 3, 13, 16, 18, 25, 26, 27, 28, 32, 34, 35, 36, 39, 40, 41, 44, 48, 52], "lead": [0, 8, 9, 11, 22, 25, 31, 32, 36, 39, 41, 48], "trail": 0, "whitespac": 0, "sequenc": [0, 3, 7, 8, 13, 18, 21, 22, 23, 27, 28, 29, 30, 31, 32, 34, 35, 38, 39, 40, 41], "alwai": [0, 1, 8, 16, 29, 34, 35, 37], "delet": [0, 2, 8, 22, 35, 49], "hgfhvhefgdntngcmssgphfnpygkehgapvdenrhlg": 0, "2jlp": 0, "1": [0, 2, 8, 11, 13, 14, 18, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 43, 47, 49, 50], "55": [0, 13], "raihvhqfgdlsqgcestgphynplavph": 0, "pqhpg": 0, "either": [0, 7, 8, 13, 16, 18, 20, 21, 22, 27, 29, 31, 32, 34, 35, 36, 37, 39, 40, 41, 45, 49, 51], "trg": [0, 13, 31, 35], "first": [0, 1, 3, 8, 10, 13, 16, 21, 22, 25, 26, 27, 28, 29, 31, 32, 34, 35, 36, 39, 40, 41, 43, 44, 47, 49, 50, 51], "us": [0, 1, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 54], "encod": 0, "an": [0, 2, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 46, 47, 48, 50, 51, 53], "identifi": [0, 3, 13, 14, 20, 26, 28, 31, 35, 36, 39, 41, 49, 50, 51], "attach": [0, 4, 8, 13, 20, 21, 25, 28, 29, 31, 35, 36, 39, 40, 41, 42], "option": [0, 2, 3, 5, 7, 13, 26, 31, 32, 35, 51], "offset": [0, 3, 13, 26, 31, 35], "below": [0, 8, 20, 21, 25, 26, 28, 31, 32, 36, 37, 39, 41, 44, 49], "detail": [0, 3, 9, 13, 16, 20, 25, 26, 27, 28, 31, 33, 34, 35, 39, 41, 48, 49, 51], "header": [0, 2, 4, 16, 17], "follow": [0, 1, 2, 4, 5, 7, 8, 10, 11, 16, 18, 20, 22, 23, 25, 26, 28, 29, 30, 31, 35, 36, 37, 39, 41, 47, 49, 50, 51], "same": [0, 1, 2, 4, 7, 8, 10, 13, 14, 20, 21, 25, 26, 28, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 42, 45, 48, 49, 50, 51], "logic": 0, "allow": [0, 2, 3, 5, 8, 11, 16, 22, 26, 27, 28, 31, 34, 35, 37, 39, 41, 46, 51], "start": [0, 1, 2, 4, 7, 10, 14, 16, 17, 19, 21, 22, 25, 26, 28, 29, 31, 32, 34, 35, 36, 40, 41, 42, 54], "contain": [0, 1, 2, 3, 4, 5, 7, 8, 9, 11, 13, 16, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 31, 33, 34, 35, 36, 39, 40, 41, 42, 44, 45, 47, 49, 50, 51, 54], "entri": [0, 3, 8, 14, 25, 26, 28, 31, 32, 33, 36, 41, 47, 50], "kei": [0, 13, 26, 28, 31, 34, 35, 39, 40, 41], "alignmentlist": [0, 13, 35], "That": [0, 1, 4, 8, 11, 13, 16, 26, 28, 41], "turn": [0, 1, 11, 14, 16, 35], "arrai": [0, 8, 37], "those": [0, 1, 2, 4, 8, 10, 13, 16, 20, 25, 28, 31, 35, 36, 37, 39, 41, 47, 50, 51], "string": [0, 3, 11, 13, 26, 27, 29, 37], "id": [0, 14, 26, 27, 37, 47, 50, 51], "seqr": [0, 21, 23, 26, 28, 29, 31, 34, 35, 36, 39, 40, 41], "number": [0, 1, 3, 8, 9, 10, 13, 14, 18, 21, 22, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 36, 37, 39, 40, 41, 42, 44, 45, 49, 51], "residu": [0, 3, 8, 9, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 44, 45, 47, 49, 50, 51], "skip": [0, 1, 8, 16, 26, 28, 35, 50], "mytrg": 0, "ani": [0, 1, 4, 5, 8, 10, 13, 14, 15, 18, 20, 21, 22, 25, 26, 27, 28, 29, 31, 33, 34, 35, 36, 37, 39, 40, 41, 45, 47, 49, 50], "readabl": [0, 8, 13, 20, 51], "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, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "io": [0, 7, 8, 13, 18, 21, 22, 23, 25, 26, 28, 30, 31, 32, 34, 35, 36, 37, 42, 47, 51], "loadent": [0, 13], "method": [0, 1, 10, 13, 21, 25, 26, 27, 28, 32, 35, 36, 37, 50], "In": [0, 1, 5, 8, 10, 17, 20, 21, 22, 26, 28, 30, 31, 32, 34, 35, 36, 40, 41, 42, 44, 45, 47, 49, 50, 51, 52], "latter": [0, 5, 16, 28, 35], "case": [0, 1, 5, 8, 13, 16, 22, 26, 27, 28, 29, 32, 34, 35, 36, 37, 41, 44, 47, 49, 50, 51], "chosen": [0, 13, 34, 35], "end": [0, 1, 2, 4, 8, 10, 11, 13, 16, 20, 21, 22, 26, 28, 29, 31, 35, 38], "recogn": [0, 13], "extens": [0, 3, 11, 13, 28, 29, 35], "ent": [0, 13, 21, 25, 26, 33, 36, 42], "gz": [0, 5, 7, 11, 13], "cif": [0, 5, 7, 13], "each": [0, 7, 8, 10, 13, 14, 20, 21, 22, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 41], "mai": [0, 1, 2, 4, 8, 11, 13, 16, 20, 21, 25, 29, 32, 35], "have": [0, 2, 3, 4, 5, 7, 8, 10, 13, 14, 16, 18, 20, 21, 22, 25, 26, 28, 29, 31, 33, 34, 35, 36, 37, 39, 40, 41, 44, 46, 47, 50, 51, 52], "care": [0, 8, 10, 31, 32, 35, 37, 41], "taken": [0, 21, 25, 32, 34, 50], "base": [0, 3, 4, 5, 9, 11, 13, 19, 20, 22, 23, 27, 28, 31, 32, 34, 35, 37, 38, 40, 42, 47, 49, 50, 51], "valid": [0, 10, 16, 22, 26, 29, 34, 35, 36, 48, 51], "anyth": [0, 2, 5, 8, 13, 14, 15, 28, 31, 32, 36, 39, 41], "onli": [0, 1, 2, 3, 4, 8, 10, 11, 13, 14, 15, 16, 20, 21, 22, 25, 26, 28, 29, 31, 33, 34, 35, 36, 37, 39, 41, 44, 47, 48, 49, 50], "where": [0, 1, 3, 4, 5, 8, 10, 11, 13, 14, 16, 20, 21, 22, 25, 26, 27, 28, 31, 35, 37, 39, 40, 41, 48, 49, 50, 51], "import": [0, 1, 5, 7, 8, 11, 13, 16, 18, 20, 21, 22, 23, 25, 26, 27, 28, 30, 31, 32, 34, 35, 36, 42, 47, 49, 50], "chainid": 0, "abov": [0, 1, 5, 8, 13, 16, 20, 22, 29, 31, 33, 35, 37, 49, 51], "reach": [0, 28, 29, 32], "ignor": [0, 25, 28, 32, 35], "data": [0, 1, 3, 4, 8, 16, 17, 21, 23, 24, 25, 28, 29, 30, 31, 32, 34, 35, 36, 40, 42, 47, 49, 54], "ha": [0, 1, 2, 3, 4, 5, 8, 10, 11, 13, 16, 20, 21, 22, 23, 24, 25, 26, 28, 29, 31, 32, 34, 35, 36, 39, 40, 41, 44, 46, 49, 50, 52], "specifi": [0, 2, 3, 4, 5, 9, 10, 22, 26, 27, 28, 31, 32, 35, 36, 40, 49, 51], "profil": [0, 3, 12, 13, 26, 28, 31, 35, 38, 54], "ad": [0, 2, 3, 4, 8, 10, 13, 14, 16, 21, 22, 26, 28, 29, 31, 33, 35, 36, 38, 39, 40, 41, 45, 49, 50, 51], "link": [0, 2, 4, 8, 16, 20, 21, 25, 26, 28, 34, 36, 39, 40, 41, 42], "correspond": [0, 10, 16, 21, 22, 25, 26, 27, 28, 31, 37, 49, 50, 51], "impact": [0, 25, 26], "loop": [0, 3, 7, 8, 13, 18, 19, 21, 24, 26, 27, 28, 29, 30, 33, 35, 36, 37, 38, 39, 40, 41, 50, 54], "score": [0, 3, 8, 13, 19, 23, 26, 28, 29, 30, 33, 34, 35, 36, 37, 38, 39, 41, 44, 47, 54], "databas": [0, 3, 9, 23, 24, 28, 31, 35], "approach": [0, 2, 10, 26, 28, 35, 37, 44, 47, 50], "understood": 0, "hhm": [0, 13, 26, 31], "pssm": [0, 13], "consid": [0, 4, 8, 10, 13, 14, 16, 21, 22, 26, 27, 28, 31, 32, 33, 34, 35, 36, 39, 40, 41, 44, 47, 49, 50, 51, 53], "bind": [0, 3, 13, 20, 28], "hhblit": [0, 13], "a3mtoprofil": [0, 13], "a3m": [0, 13], "hand": [0, 2, 4, 13], "map": [0, 13, 21, 22, 26, 28, 33, 36], "exact": [0, 7, 10, 13, 37], "toward": [0, 3, 8, 13, 26, 28, 29, 32, 35, 39, 41, 47, 49, 50, 52], "gapless": [0, 13], "sever": [0, 2, 3, 5, 8, 10, 13, 24, 26, 27, 28, 31, 32, 35, 36, 40, 41, 42, 44, 48, 49, 51, 52], "homo": [0, 13], "oligom": [0, 13, 30], "uniqu": [0, 13, 28, 31, 34, 51], "avoid": [0, 3, 6, 11, 13, 15, 26, 28, 32, 34], "ambigu": [0, 13, 51], "all": [0, 1, 2, 3, 4, 7, 8, 10, 13, 14, 16, 18, 19, 20, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 40, 41, 42, 44, 45, 47, 48, 49, 50, 51, 52, 54], "noth": [0, 4, 8, 13, 14, 20, 28, 34, 49], "subset": [0, 13, 25, 26, 28, 31, 32, 35, 36], "prof": [0, 26, 31], "fast": [0, 9, 18, 19, 21, 25, 26, 27, 28, 37, 39, 40, 41, 51], "torsion": [0, 13, 21, 22, 23, 24, 26, 28, 31, 32, 34, 35, 41, 47], "angl": [0, 3, 9, 21, 22, 23, 25, 26, 31, 32, 33, 34, 35, 41, 47, 50, 51, 54], "sampl": [0, 3, 8, 22, 23, 28, 31, 34, 35, 54], "perform": [0, 10, 16, 18, 19, 20, 25, 28, 31, 32, 33, 34, 35, 37, 40, 44], "mont": [0, 3, 10, 28, 31, 34, 35, 46], "carlo": [0, 3, 10, 28, 31, 34, 35, 46], "enforc": [0, 3, 21, 31, 34, 35, 36, 39, 40, 41], "fragment": [0, 3, 9, 13, 22, 23, 24, 28, 31, 32, 34, 35, 38, 47], "increas": [0, 3, 10, 28, 31, 32, 35, 50], "runtim": [0, 3, 10, 12, 35, 50, 54], "due": [0, 26, 31, 32, 35, 44], "search": [0, 2, 3, 8, 21, 26, 28, 31, 33, 35, 36, 41, 44, 49, 50], "requir": [0, 2, 3, 5, 8, 13, 16, 19, 20, 21, 22, 26, 27, 28, 31, 32, 35, 36, 37, 42, 49, 50, 51], "setup": [0, 2, 5, 8, 13, 17, 25, 28, 31, 32, 34, 35, 37, 39, 40, 41, 42], "accord": [0, 5, 10, 16, 21, 22, 25, 26, 27, 28, 29, 31, 34, 35, 36, 39, 44, 47, 49, 50, 51], "fraggerhandl": [0, 13, 26, 28, 35], "pm3argumentpars": [0, 11, 13], "class": [0, 1, 3, 5, 8, 9, 10, 12, 13, 14, 17, 20, 23, 25, 28, 30, 32, 34, 35, 37, 42, 45, 46, 49, 50, 51], "describ": [0, 4, 7, 8, 10, 11, 17, 20, 21, 22, 26, 28, 29, 30, 32, 33, 37, 39, 41, 44, 47, 48, 49, 50, 51, 54], "optim": [0, 2, 3, 10, 13, 25, 26, 27, 31, 33, 35, 38, 39, 41, 44, 47, 48, 51, 54], "gener": [0, 1, 2, 3, 5, 7, 8, 10, 13, 14, 16, 18, 19, 20, 23, 24, 26, 27, 28, 30, 31, 32, 33, 35, 36, 37, 39, 40, 41, 48, 49, 50, 51, 54], "free": [0, 8, 20, 35, 49, 51], "region": [0, 25, 28, 29, 32, 34, 35, 45, 50], "cover": [0, 1, 8, 12, 13, 14, 21, 25, 28, 30, 34, 35], "inform": [0, 5, 7, 8, 13, 16, 20, 22, 23, 26, 28, 29, 31, 34, 35, 38, 40, 41, 42, 53], "termin": [0, 1, 9, 11, 18, 20, 21, 22, 25, 29, 31, 32, 34, 35, 36, 50], "without": [0, 1, 3, 4, 8, 11, 13, 20, 25, 29, 32, 35, 40, 51], "coverag": [0, 3, 35], "negelect": [0, 35], "part": [0, 1, 8, 16, 18, 20, 21, 26, 34, 35, 40, 44, 46, 47, 49, 54], "crude": [0, 35], "Be": [0, 3, 35], "awar": [0, 3, 8, 35, 50], "accuraci": [0, 3, 28, 35, 38], "termini": [0, 3, 29, 34, 35], "like": [0, 1, 4, 8, 16, 35, 37, 48], "limit": [0, 3, 20, 26, 28, 32, 35], "length": [0, 3, 9, 10, 21, 24, 25, 26, 27, 28, 29, 31, 32, 34, 35, 36, 37, 39, 40, 44], "won": [0, 35, 36, 50], "exit": [0, 1, 11, 13], "code": [0, 1, 2, 3, 4, 5, 6, 7, 8, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 26, 27, 33, 35, 47, 49, 53], "0": [0, 1, 2, 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, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "went": [0, 8], "well": [0, 4, 16, 21, 27, 28, 29, 31, 35, 37, 41, 47, 50, 51], "unhandl": [0, 13], "except": [0, 3, 13, 20, 26, 29, 34, 35], "wa": [0, 2, 3, 8, 13, 14, 16, 20, 21, 25, 28, 29, 31, 33, 34, 36, 39, 40, 41], "rais": [0, 9, 10, 13, 21, 22, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 39, 40, 41, 44, 45, 49, 50, 51], "2": [0, 1, 2, 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, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "argument": [0, 1, 2, 4, 11, 12, 34, 40], "pars": [0, 11, 12, 25, 26, 27, 28, 39, 41, 51, 54], "miss": [0, 11, 13, 25, 28, 35], "3": [0, 2, 9, 13, 16, 20, 21, 22, 25, 26, 27, 28, 31, 34, 35, 43, 49, 50, 51], "fail": [0, 1, 8, 11, 14, 22, 31, 32, 35], "intern": [0, 1, 3, 4, 5, 8, 16, 21, 24, 25, 26, 27, 28, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 46, 49, 50, 52], "error": [0, 11, 13, 14, 26, 28, 32, 35, 37], "4": [0, 2, 9, 20, 25, 26, 28, 31, 33, 35, 41], "write": [0, 17, 20, 26, 27, 32, 37, 39, 41, 51], "result": [0, 2, 3, 8, 10, 20, 25, 27, 28, 31, 32, 33, 34, 35, 36, 38, 44, 51], "other": [0, 1, 2, 3, 4, 8, 10, 14, 16, 20, 21, 22, 31, 32, 35, 36, 39, 41, 42, 49, 50, 51, 52, 53, 54], "non": [0, 3, 4, 10, 13, 16, 20, 24, 25, 27, 28, 29, 30, 31, 32, 35, 37, 47, 48, 50], "zero": [0, 26, 28, 35, 51], "failur": [0, 8, 11, 13, 20, 35, 51], "check": [0, 1, 2, 3, 5, 8, 11, 13, 14, 16, 22, 25, 26, 28, 30, 32, 34, 35, 37, 50, 51, 54], "core": [0, 8, 9, 10, 11, 13, 14, 19, 35, 37, 46, 53, 54], "pm3argpars": [0, 11, 12, 54], "re": [0, 9, 10, 21, 22, 25, 26, 28, 31, 32, 33, 34, 35, 36, 39, 40, 41, 44, 49, 50, 51], "construct": [0, 3, 9, 21, 22, 26, 28, 29, 33, 34, 35, 37, 42, 43, 45, 49, 50, 51], "k": [0, 3], "n": [0, 3, 9, 10, 14, 21, 22, 25, 26, 27, 28, 29, 31, 32, 34, 35, 36, 38, 41, 50], "strip": [0, 35], "detect": [0, 3, 11, 28, 30, 38, 44], "disulfid": [0, 25, 32, 36, 43, 47, 49, 51, 54], "bond": [0, 3, 9, 22, 25, 26, 32, 33, 35, 36, 38, 41, 47, 49, 50, 51, 54], "reconstruct": [0, 3, 8, 18, 21, 22, 25, 30, 32, 35, 44, 47, 49, 52, 54], "flexibl": [0, 19, 36, 44, 47, 49, 50, 52], "rotam": [0, 3, 33, 36, 38, 44, 45, 47, 52, 54], "out": [0, 1, 2, 4, 8, 14, 16, 20, 21, 25, 26, 27, 28, 29, 31, 34, 47, 51], "behaviour": [0, 13, 39, 40, 49, 50, 51], "keep": [0, 1, 2, 4, 5, 8, 13, 16, 28, 30, 35, 47], "exist": [0, 1, 2, 4, 8, 10, 11, 13, 14, 16, 21, 22, 26, 28, 31, 32, 33, 34, 35, 37, 39, 40, 41, 48, 49, 51], "do": [0, 1, 2, 4, 5, 7, 8, 10, 13, 14, 15, 16, 20, 25, 26, 28, 31, 32, 33, 35, 37, 44], "befor": [0, 1, 3, 4, 7, 8, 13, 16, 22, 25, 26, 27, 29, 31, 32, 34, 35, 36, 37, 50], "rigid": [0, 3, 30, 32, 34, 36, 46, 47, 49, 51, 52, 54], "subrotam": [0, 3, 44, 47, 49, 50, 54], "backbon": [0, 3, 7, 9, 18, 21, 22, 26, 27, 28, 29, 30, 31, 34, 35, 36, 38, 42, 45, 47, 48, 49, 50, 54], "independ": [0, 3, 25, 36, 48], "librari": [0, 3, 4, 8, 15, 28, 33, 36, 38, 47, 50, 54], "loadlib": [0, 36, 47, 48], "instead": [0, 1, 2, 3, 4, 8, 11, 26, 28, 29, 31, 34, 35, 50], "depend": [0, 3, 4, 8, 10, 13, 18, 22, 25, 26, 27, 28, 31, 35, 36, 37, 38, 39, 40, 41, 47, 48, 49, 54], "loadbbdeplib": [0, 36, 47, 48], "dont": [0, 34], "energy_funct": [0, 36], "energi": [0, 3, 8, 10, 18, 25, 32, 34, 35, 36, 39, 41, 44, 45, 46, 47, 49, 50, 52], "function": [0, 1, 3, 8, 10, 13, 14, 15, 16, 17, 19, 21, 22, 25, 26, 28, 30, 31, 32, 33, 34, 35, 37, 38, 39, 41, 42, 44, 46, 47, 51, 54], "scwrl4": [0, 36, 38, 44, 47, 50], "support": [0, 1, 2, 3, 8, 11, 13, 18, 20, 25, 32, 35], "reconstructsidechain": [0, 3, 8, 35, 36], "cmake": [0, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "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, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "9": [2, 3, 10, 20, 23, 26, 28, 31, 33, 34, 35, 41], "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, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "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, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "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, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "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, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "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, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "git": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "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, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "8": [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, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "modul": [1, 3, 11, 12, 15, 16, 17, 18, 23, 24, 28, 30, 37, 44, 47, 49], "promod3": [1, 3, 7, 9, 10, 11, 13, 14, 15, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "binari": [1, 4, 8, 16, 17, 25, 26, 27, 28, 39, 41, 51], "distribut": [1, 8, 20, 25, 26, 27, 34, 37, 39, 41, 48, 51], "product": [1, 3, 16, 20], "bit": [1, 8, 16, 31, 35], "model": [1, 3, 7, 8, 12, 13, 14, 19, 21, 25, 26, 29, 32, 34, 36, 40, 41, 42, 45, 46, 49, 50, 52, 53, 54], "It": [1, 8, 10, 13, 15, 16, 17, 21, 22, 26, 27, 29, 31, 32, 34, 35, 37, 40, 41, 44, 45, 48, 50, 54], "sourc": [1, 2, 4, 8, 13, 16, 18, 19, 20, 26, 28, 31, 32, 33, 35, 37, 51], "intend": [1, 8, 34, 49], "develop": [1, 3, 8, 16, 19, 53], "basic": [1, 2, 8, 11, 16, 27, 28, 34, 35, 47, 51], "new": [1, 3, 7, 8, 13, 16, 17, 21, 22, 25, 26, 28, 29, 31, 32, 34, 35, 36, 37, 38, 47, 49], "along": [1, 8, 20], "immedi": [1, 8, 15, 16], "stai": [1, 8, 10, 16, 34], "avail": [1, 2, 3, 5, 8, 15, 16, 18, 20, 25, 26, 28, 31, 34, 35, 40, 47, 49], "monitor": 1, "later": [1, 8, 10, 21, 28, 47], "chang": [1, 3, 4, 5, 7, 8, 10, 16, 20, 21, 27, 28, 29, 32, 34, 35, 36, 39], "coupl": [1, 8, 16, 35], "differ": [1, 2, 4, 7, 8, 10, 15, 16, 20, 21, 26, 28, 29, 31, 35, 39, 41, 47, 49, 51], "path": [1, 2, 4, 5, 7, 8, 11, 16, 18, 25, 26, 27, 28, 33, 39, 41, 51], "mention": [1, 2], "To": [1, 2, 5, 6, 7, 10, 16, 17, 20, 21, 22, 25, 26, 28, 32, 33, 34, 35, 36, 40, 44, 46, 49, 50], "thing": [1, 2, 8, 16, 26, 28, 35, 51], "easier": [1, 8, 20], "tell": [1, 8, 11, 13, 16, 26], "apart": [1, 31, 35, 36, 39, 41], "prefix": [1, 4, 8, 11], "refer": [1, 4, 8, 18, 19, 21, 22, 23, 25, 26, 28, 34], "repositori": [1, 4, 8, 16, 53], "build": [1, 3, 4, 6, 7, 8, 16, 18, 19, 25, 28, 30, 34, 44, 45, 47, 48, 50, 54], "directori": [1, 2, 4, 5, 7, 8, 17, 26, 28, 48], "tree": [1, 4, 8, 10, 16, 46, 47], "insid": [1, 4], "environ": [1, 3, 8, 21, 28, 29, 31, 32, 34, 35, 36, 37, 39, 41, 42, 54], "There": [1, 4, 5, 8, 10, 13, 16, 25, 26, 27, 34, 39, 41, 48, 49], "special": [1, 2, 4, 8, 20, 25, 34, 49, 50, 51], "about": [1, 4, 8, 10, 26, 28, 35], "your": [1, 2, 4, 5, 13, 14, 16, 17, 18, 20, 22, 26, 28, 35, 37, 48], "emerg": 1, "wai": [1, 2, 4, 5, 8, 16, 22, 23, 25, 28, 31, 41, 47, 49], "set": [1, 2, 3, 4, 8, 10, 11, 13, 15, 16, 18, 21, 22, 25, 26, 28, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 44, 47, 49, 50, 51, 52], "up": [1, 3, 4, 5, 7, 8, 11, 13, 16, 24, 25, 26, 28, 31, 32, 34, 35, 40, 47, 50], "via": [1, 5, 8, 13, 15, 25], "while": [1, 4, 8, 14, 20, 21, 25, 35, 37, 49], "when": [1, 3, 4, 5, 8, 10, 13, 14, 21, 22, 25, 26, 27, 28, 29, 31, 34, 35, 36, 37, 38, 40, 41, 44, 47, 48, 49, 50, 51], "usual": [1, 2, 4, 8, 13, 14, 16, 22, 31, 35, 39], "compil": [1, 2, 3, 4, 8, 14, 16, 18, 20, 37, 54], "bytecod": 1, "would": [1, 2, 8, 11, 22, 26, 27, 35, 44, 49], "clutter": [1, 8, 26], "show": [1, 8, 13, 14, 31, 34, 47, 50], "untrack": 1, "statu": [1, 8], "prevent": [1, 8], "stop": [1, 8, 14, 28, 29, 32], "right": [1, 2, 8, 10, 13, 20], "begin": [1, 8, 21, 22, 28, 34, 40], "sy": [1, 13, 32], "need": [1, 2, 3, 4, 5, 8, 11, 13, 15, 16, 22, 25, 26, 27, 28, 31, 32, 35, 36, 37, 39, 40, 41, 47, 50], "so": [1, 4, 7, 8, 10, 14, 16, 26, 27, 28, 31, 32, 34, 35, 40, 41, 49], "pyc": 1, "dont_write_bytecod": 1, "true": [1, 11, 13, 14, 21, 22, 23, 25, 26, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 41, 44, 47, 50], "5": [1, 3, 20, 23, 25, 26, 28, 31, 32, 33, 35, 36, 40], "doe": [1, 3, 4, 8, 9, 10, 11, 13, 15, 16, 20, 22, 26, 30, 31, 34, 35, 37, 40, 48], "trick": [1, 7, 16], "sinc": [1, 2, 4, 8, 10, 11, 16, 18, 22, 25, 26, 27, 28, 49], "recognis": [1, 8, 16], "otherwis": [1, 4, 8, 10, 14, 16, 20, 21, 22, 25, 26, 28, 29, 31, 32, 34, 35, 39, 40, 41, 49, 51], "could": [1, 4, 5, 8, 13, 16, 25, 26, 35], "disabl": [1, 16, 35], "load": [1, 8, 13, 15, 21, 23, 25, 26, 27, 28, 31, 32, 35, 36, 37, 39, 41, 42, 47, 51, 54], "shell": [1, 2, 7, 8, 11], "veri": [1, 8, 11, 16, 25, 28, 35, 37], "similar": [1, 2, 3, 13, 16, 23, 26, 28, 40, 41, 51], "across": [1, 51], "variou": [1, 2, 4, 16, 30], "addition": [1, 4, 16, 21, 25, 26, 28], "some": [1, 2, 4, 5, 6, 7, 8, 13, 16, 21, 23, 26, 30, 33, 34, 35, 36, 37, 40, 42, 47, 50, 51], "should": [1, 2, 4, 5, 7, 8, 10, 11, 13, 16, 18, 20, 22, 23, 26, 27, 28, 31, 32, 34, 35, 36, 37, 40, 45, 47, 49], "why": [1, 16], "try": [1, 8, 18, 29, 35, 37, 51], "dure": [1, 3, 21, 32, 35, 37, 45, 51], "process": [1, 3, 13, 16, 21, 25, 28, 32, 34, 35, 37, 40, 45, 49, 51], "what": [1, 8, 11, 13, 16, 23, 26, 36, 40], "deliv": [1, 26, 34, 35], "just": [1, 2, 8, 13, 15, 16, 23, 25, 26, 28, 29, 31, 35, 50], "behav": [1, 51], "kind": [1, 8, 20], "goal": [1, 10, 28, 30], "trigger": [1, 4, 8, 48], "manual": [1, 2, 5, 8, 9, 16, 26, 31, 34, 35, 37, 49], "rememb": [1, 8, 34], "call": [1, 2, 4, 8, 11, 13, 14, 15, 16, 21, 25, 26, 27, 29, 31, 33, 34, 35, 36, 37, 39, 40, 41, 49, 50, 51], "punch": [1, 3, 30, 35], "year": 1, "ago": 1, "come": [1, 3, 4, 8, 11, 13, 28, 35, 36, 42, 46, 51], "back": [1, 16, 25, 34], "someth": [1, 8, 11, 16, 26], "add": [1, 2, 4, 6, 8, 10, 13, 18, 20, 21, 26, 27, 28, 31, 32, 35, 36, 39, 40, 41, 44, 47, 49, 50, 53], "etc": [1, 3, 8, 16, 22, 26, 31, 40], "next": [1, 8, 16, 22, 27, 28, 29, 37], "paragraph": [1, 8], "walk": [1, 8], "through": [1, 8, 9, 20, 22, 26, 29, 35, 39, 41], "imaginari": 1, "continu": [1, 21, 29, 32, 47], "extend": [1, 4, 8, 16, 17, 24, 26, 28, 30, 31, 35, 41, 46], "ey": 1, "let": [1, 8, 22, 26, 28, 31, 47], "assum": [1, 4, 5, 8, 20, 25, 26, 32, 35, 37, 40, 41, 44, 50], "awesom": [1, 8], "section": [1, 4, 7, 17, 20, 53, 54], "supervis": 1, "place": [1, 2, 4, 8, 11, 13, 16, 20, 26], "convent": [1, 49], "test_action_": 1, "py": [1, 4, 5, 7, 8, 16, 20], "test_action_do_awesom": 1, "underscor": 1, "between": [1, 3, 10, 13, 22, 25, 26, 28, 29, 31, 32, 34, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 49, 50, 51], "hyphen": 1, "touch": [1, 8, 25, 32], "As": [1, 2, 5, 8, 13, 26, 27, 28, 31, 36, 49, 51], "starter": 1, "introduc": [1, 3, 4, 8, 16, 32, 35], "materi": [1, 8], "announc": [1, 8], "system": [1, 2, 4, 8, 16, 20, 23, 26, 32, 42, 54], "For": [1, 2, 5, 8, 12, 13, 16, 18, 20, 21, 25, 26, 28, 31, 34, 35, 36, 37, 40, 41, 44, 49, 50, 51], "fire": [1, 7], "cmakelist": [1, 2, 4, 8, 16], "txt": [1, 2, 4, 8, 16, 20], "favourit": 1, "text": [1, 13, 20, 35], "editor": 1, "action_unit_test": 1, "test_action_help": 1, "leav": 1, "last": [1, 2, 3, 4, 21, 22, 25, 29, 31, 32, 34, 35, 40, 41, 48], "item": [1, 8, 16, 21, 22, 25, 26, 35, 40], "promod3_unittest": [1, 4, 8], "around": [1, 4, 8, 9, 16, 22, 31, 32, 35, 39, 40, 41, 51], "foundat": 1, "If": [1, 2, 4, 5, 8, 10, 11, 13, 14, 16, 18, 20, 22, 25, 26, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 44, 45, 49, 50], "broken": 1, "lost": [1, 16], "put": [1, 4, 8, 11, 13, 33, 35], "element": [1, 10, 21, 22, 26, 28, 31, 33, 37, 40, 44, 50], "sort": [1, 4, 10, 14, 31, 34, 51], "By": [1, 2, 4, 31, 32, 35, 39, 49], "spawn": [1, 8], "off": [1, 8, 14, 35], "inherit": [1, 39, 40, 41, 46], "bunch": [1, 13, 16], "work": [1, 2, 4, 5, 7, 8, 14, 16, 18, 20, 25, 29, 35, 37, 50], "childclass": 1, "properli": [1, 35, 39, 41, 50], "But": [1, 4, 8, 16, 28, 35, 50], "showcas": [1, 21, 25, 27], "explain": [1, 8], "how": [1, 16, 17, 20, 26, 31, 34, 35, 38, 40, 48, 54], "go": [1, 2, 4, 8, 9, 16, 26, 28, 35], "actiontest": 1, "scheme": [1, 8, 13, 21, 26, 29, 34], "helpactiontest": 1, "def": [1, 8, 21, 35], "__init__": [1, 8, 13, 16], "self": [1, 8, 10, 44, 47, 49], "arg": [1, 4, 13, 49], "kwarg": 1, "pm_action": [1, 4, 8], "pai": 1, "attent": [1, 16], "own": [1, 3, 4, 16, 17, 20, 25, 26, 35, 48, 49, 50], "everyth": [1, 2, 3, 7, 8, 12, 13, 16, 28, 32, 35, 36, 37, 39, 54], "also": [1, 2, 3, 4, 8, 11, 16, 20, 26, 27, 28, 31, 32, 33, 34, 35, 36, 44, 45, 46, 50, 51], "certain": [1, 2, 4, 8, 10, 16, 26, 27, 28, 29, 35, 37, 39, 40, 41], "paramet": [1, 3, 4, 8, 9, 10, 11, 13, 14, 15, 21, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 43, 44, 45, 46, 48, 49, 50, 51, 52], "deriv": [1, 20, 26, 28, 33, 38, 43, 44], "unittest": [1, 8, 16], "testcas": [1, 8], "exclus": [1, 8, 20, 25], "state": [1, 2, 8, 20, 21, 26, 31, 34, 40, 41, 44, 49, 51], "userlevel": 1, "document": [1, 2, 7, 16, 20, 26, 28, 53], "topic": [1, 8, 16], "alreadi": [1, 4, 8, 10, 16, 22, 25, 26, 28, 31, 35, 36, 39, 40, 41, 49, 50, 51, 52], "runexitstatustest": 1, "testexit0": 1, "return": [1, 8, 9, 10, 11, 13, 14, 15, 21, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 43, 44, 45, 48, 49, 50, 51], "more": [1, 2, 4, 7, 8, 10, 13, 14, 16, 20, 28, 35, 44, 49, 53], "forget": [1, 8], "neg": [1, 10, 25, 32, 40], "idea": [1, 8, 21, 23, 25, 26, 35, 40, 49, 52], "mind": [1, 8], "happen": [1, 8, 25, 28, 29, 34, 35, 49], "user": [1, 5, 8, 19, 28, 53], "throw": [1, 37, 47, 48], "dirti": 1, "testutil": [1, 8], "__name__": [1, 8], "__main__": [1, 8], "runtest": [1, 8], "These": [1, 2, 4, 26, 28, 29, 34, 35], "three": [1, 4, 16, 21, 22, 27, 28, 31, 33, 34, 38, 41, 49, 51], "privat": [1, 37], "_run": [1, 4], "sole": [1, 16, 20, 28], "hit": [1, 10, 16, 27, 28, 32], "py_run": [1, 4, 8], "notic": [1, 4, 16, 20], "realli": [1, 2, 8, 11, 16], "talk": 1, "stdout": 1, "stderr": 1, "time": [1, 5, 8, 13, 14, 16, 18, 28, 35], "design": [1, 3, 19, 20], "suit": [1, 8, 26], "nobodi": 1, "want": [1, 2, 3, 8, 15, 16, 22, 26, 28, 31, 32, 35, 40, 49, 50, 51, 52, 53], "interest": [1, 10, 25, 26, 34, 37, 49, 51], "applic": [1, 20, 32, 50], "certainli": 1, "verbos": 1, "specif": [1, 3, 8, 20, 25, 26, 27, 28, 31, 34, 38, 40, 47, 48, 49, 51], "flush": [1, 16], "captur": 1, "onto": [1, 22, 26, 28], "onc": [1, 3, 8, 16, 25, 28, 31, 32, 34, 46, 51, 52], "done": [1, 8, 11, 13, 16, 23, 25, 27, 28, 31, 33, 34, 35, 37], "low": [1, 3, 8, 10, 28, 50], "silent": 1, "fals": [1, 8, 10, 11, 13, 22, 25, 26, 28, 29, 31, 34, 35, 36, 44, 47, 49, 50], "enabl": [1, 2, 3, 11, 13, 15, 25, 26], "separ": [1, 3, 8, 10, 20, 25, 27, 35, 39, 41, 44], "lot": [1, 8, 13, 16], "stage": [1, 2, 4, 8, 17, 18, 28, 37, 40, 51], "bin": [1, 8, 16, 18, 26, 27, 28, 39, 41, 51], "runner": 1, "conveni": [1, 8, 18, 28, 31, 34, 35, 42, 49, 50, 51], "wrapper": [1, 4, 8, 15, 35], "serv": [1, 13, 26, 28, 31, 34], "record": [1, 35], "two": [1, 7, 8, 10, 16, 21, 22, 25, 26, 28, 29, 31, 32, 35, 36, 37, 39, 40, 41, 43, 44, 47, 49, 51], "rewrit": 1, "whole": [1, 2, 8, 16, 20, 22, 26, 28, 35, 49], "defin": [1, 4, 8, 9, 13, 14, 15, 20, 21, 22, 23, 24, 25, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 44, 49, 50, 51], "pm_bin": 1, "automat": [1, 8, 10, 11, 14, 16, 26, 30, 31, 37, 50, 51], "initialis": 1, "str": [1, 11, 13, 14, 15, 21, 22, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 49, 51], "routin": [1, 18, 31], "after": [1, 2, 4, 5, 8, 10, 13, 16, 21, 22, 25, 26, 27, 29, 31, 32, 34, 35, 37, 40, 51], "front": [1, 11, 16], "runact": 1, "variabl": [1, 2, 3, 8, 14, 18, 25, 33, 35, 37, 49], "print": [1, 2, 5, 20, 22, 23, 25, 26, 31, 32, 33, 35, 42], "mode": [1, 51], "bool": [1, 8, 10, 11, 13, 14, 21, 22, 25, 26, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 41, 44, 49, 50, 51], "report": [1, 3, 8, 35], "int": [1, 9, 10, 11, 14, 21, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 45, 49, 50, 51, 52], "exit_cod": 1, "expect": [1, 3, 7, 21, 25, 26, 33, 35, 36, 40, 44, 50, 52], "testpmexist": 1, "verifi": [1, 11, 16], "complain": 1, "found": [1, 3, 4, 8, 11, 13, 16, 19, 21, 23, 26, 28, 31, 32, 33, 34, 35, 36, 44, 46, 49, 51], "top": [2, 6, 8, 14, 15, 16, 28, 32, 35], "version": [2, 3, 5, 8, 16, 20, 26, 28, 35, 37, 48, 49], "configur": [2, 3, 8, 10, 16, 20, 31, 47], "enable_mm": 2, "openmm": [2, 18, 25, 32], "creat": [2, 4, 5, 7, 8, 9, 10, 13, 16, 17, 21, 22, 23, 26, 27, 28, 30, 34, 35, 39, 41, 47, 48, 49, 50, 51], "eigen": [2, 3], "backward": [2, 3, 37], "compat": [2, 3, 16, 25, 37], "7": [2, 3, 20, 28, 31, 43], "releas": [2, 5, 8, 16], "current": [2, 4, 5, 8, 10, 14, 16, 21, 22, 25, 26, 31, 34, 35, 37, 40, 41, 42, 49, 50, 52], "prefer": [2, 4, 20, 26, 51, 52], "12": [2, 13, 24, 28, 31, 35], "6": [2, 8, 20, 25, 28, 31, 32, 35, 36, 43], "68": 2, "makefil": [2, 8], "level": [2, 3, 8, 14, 15, 16, 30, 35], "folder": [2, 4, 8, 16, 18, 37], "root": [2, 4, 8, 16], "mkdir": [2, 8], "cd": [2, 8], "dost_root": 2, "TO": [2, 7], "u": [2, 26, 47], "pointer": [2, 8, 37], "over": [2, 4, 13, 16, 26, 28, 32, 34, 35, 49], "d": [2, 9, 20, 22, 23, 25, 26, 31, 35, 37, 43, 49, 51], "ost_root": [2, 8], "g": [2, 3, 4, 5, 8, 11, 16, 18, 21, 25, 26, 31, 32, 35, 37, 38, 39, 41, 47, 49, 50, 51], "locat": [2, 3, 4, 5, 10, 22, 24, 26, 28, 29, 37, 39, 41, 49], "includ": [2, 3, 7, 8, 11, 16, 18, 20, 21, 25, 26, 28, 29, 31, 33, 35, 37, 39, 41, 47], "similarli": [2, 25, 35], "thei": [2, 5, 8, 16, 21, 22, 25, 26, 27, 28, 31, 32, 33, 34, 35, 44, 49, 50, 51, 53], "boost_root": 2, "sure": [2, 7, 8, 13, 16, 26], "python_root_dir": 2, "eigen3_include_dir": 2, "within": [2, 3, 4, 8, 14, 16, 20, 21, 25, 28, 29, 33, 35, 36, 39, 41, 51], "disable_document": 2, "don": [2, 10, 20, 31, 35, 50], "disable_doctest": 2, "implicit": 2, "disable_linkcheck": 2, "test": [2, 3, 7, 12, 16, 17, 18, 25, 26, 33, 37], "enable_ss": 2, "agress": [2, 10], "msse4": 2, "sse": 2, "intrins": 2, "explicit": [2, 28], "been": [2, 3, 10, 16, 20, 24, 26, 28, 31, 32, 35, 39, 41, 44, 51], "singl": [2, 4, 8, 10, 21, 22, 25, 26, 28, 31, 32, 34, 35, 36, 40, 41, 45, 48, 49, 50, 52], "precis": [2, 31, 35], "ost_double_precis": 2, "background": [2, 36], "relev": [2, 3, 4, 7, 25, 28, 36, 49], "exactli": [2, 10, 26, 28, 31, 35, 40, 44, 49], "valu": [2, 10, 11, 13, 21, 22, 25, 26, 28, 31, 33, 34, 35, 37, 39, 40, 41, 44, 47, 49, 50, 51, 52], "even": [2, 8, 10, 20, 22, 25, 29, 35], "funni": [2, 8], "unexpect": 2, "point": [2, 8, 13, 15, 21, 26, 28, 33, 34, 35, 40, 49, 51], "know": [2, 51], "grep": 2, "cmakecach": 2, "yourself": [2, 8, 10, 16, 35, 50], "conf": [2, 8], "script": [2, 3, 4, 7, 11, 13, 16, 17, 18, 26, 28, 37, 48, 54], "smallish": [2, 8], "invok": [2, 4, 8, 15, 16], "earlier": 2, "highli": [2, 8], "recommend": [2, 5, 8, 20, 25, 35], "goe": [2, 8, 14, 16, 35, 51], "wrong": [2, 13], "remov": [2, 3, 10, 22, 25, 26, 29, 31, 33, 35, 36, 40, 47, 49], "clean": [2, 8, 16], "again": [2, 3, 8, 26, 28, 50], "No": [2, 4, 8, 11, 26, 49, 51], "cach": [2, 26, 28], "got": 2, "rebuild": [2, 8], "popul": [2, 16], "readi": [2, 5, 51], "latest": [2, 3, 5, 8], "besid": [2, 4, 10, 13, 26], "few": [2, 8, 16, 25, 37, 42], "unit": [2, 3, 16, 17, 37], "standard": [2, 8, 12, 13, 16, 21, 27, 37, 41, 51], "doctest": [2, 8, 16], "doc": [2, 4, 8, 16, 20, 28], "linkcheck": [2, 8, 16], "html": [2, 3, 8, 16], "web": [2, 8], "page": [2, 8, 20], "builder": 2, "man": [2, 8], "wish": [2, 17, 27, 35], "safe": [2, 8], "copi": [2, 3, 4, 8, 16, 18, 20, 21, 22, 28, 29, 31, 34, 35, 40], "usr": [2, 5, 7, 8], "local": [2, 5, 7, 25, 26, 27, 39, 41, 51], "overrid": [2, 5, 25, 35, 50], "dcmake_install_prefix": 2, "abl": [2, 8, 35], "ensur": [2, 8, 18, 31, 35, 37], "autom": [2, 4], "saniti": 2, "pleas": [2, 8, 16, 28, 31, 32, 35, 53], "instruct": 2, "extra": [2, 3, 8, 16, 22, 28, 37, 48], "sanity_check": 2, "readm": [2, 8, 48], "move": [2, 3, 8, 16, 25, 31, 32, 34, 35, 37], "qmean": 2, "bugfix": 3, "updat": [3, 5, 7, 8, 16, 21, 25, 28, 29, 31, 32, 35, 36, 40, 42], "expos": [3, 26], "keep_sidechain": [3, 8, 35, 36], "buildsidechain": [3, 35], "fix": [3, 8, 11, 16, 25, 32, 35, 36, 37, 39, 41], "issu": [3, 12, 16, 17, 20, 32, 35, 37], "regard": [3, 20, 32, 44], "singular": [3, 6, 28, 33, 54], "sidechain": [3, 8, 18, 19, 25, 30, 32, 33, 35, 37, 38, 43, 44, 45, 46, 48, 50, 51, 52, 54], "backbonelist": [3, 7, 18, 21, 23, 26, 28, 29, 31, 32, 34, 35, 40], "now": [3, 8, 14, 16, 18, 22, 26], "extract": [3, 8, 9, 21, 22, 23, 25, 26, 27, 28, 30, 31, 32, 34, 35, 36, 39, 40, 41, 44, 49, 50], "redund": [3, 24, 31, 33], "high": [3, 8, 16, 28, 30, 35], "resolut": [3, 22, 32], "x": [3, 8, 10, 26, 28], "rai": 3, "ic": 3, "charmm36": 3, "slightli": [3, 35], "improv": [3, 20, 25, 35, 38, 44], "minor": [3, 25, 35], "bug": [3, 8, 16], "planar": [3, 30, 35], "ring": [3, 30, 35], "incorpor": [3, 20], "minim": [3, 12, 18, 22, 25, 26, 31, 32, 35, 39, 40, 41, 46, 47, 54], "potenti": [3, 10, 23, 25, 26, 28, 31, 32, 35, 36, 37, 38, 41, 49], "step": [3, 8, 10, 14, 16, 18, 19, 28, 29, 30, 31, 32, 34, 40, 44], "algorithm": [3, 10, 19, 22, 23, 26, 30, 31, 32, 33, 34, 35, 38, 42, 43, 46, 47, 49, 54], "larg": [3, 5, 27, 32, 35], "pentamatch": [3, 28], "mer": 3, "extrem": [3, 22, 28], "speed": [3, 25, 35, 38], "sensit": [3, 28], "implement": [3, 16, 19, 26, 28, 29, 32, 34, 35, 37, 43, 44, 46, 47, 49, 50, 53], "http": [3, 8, 18, 19, 20, 53], "www": [3, 20], "rbvi": 3, "ucsf": 3, "edu": 3, "chimerax": 3, "kmer": 3, "aug2022": 3, "kmer_search": 3, "storag": [3, 8, 21, 25, 28, 39, 41], "fsstructureserv": [3, 28], "omf": [3, 28], "compress": [3, 11, 26, 28], "afdb": [3, 30], "v4": [3, 28], "214e6": 3, "4tb": 3, "outdat": [3, 5, 7], "fedora": [3, 8], "19": [3, 8, 13], "ancient": [3, 15], "mac": 3, "cb": [3, 8, 21, 22, 25, 26, 32, 36, 40, 41, 43, 44, 50], "atom": [3, 8, 9, 22, 23, 25, 26, 28, 30, 31, 33, 35, 36, 40, 41, 42, 44, 45, 49, 50, 51, 54], "ca": [3, 8, 9, 21, 22, 23, 25, 26, 28, 31, 32, 36, 40, 41, 43, 44, 50], "present": [3, 22, 28, 32, 36, 49, 50, 51], "our": [3, 4, 5, 8, 16, 26, 28, 31], "might": [3, 10, 25, 26, 28, 31, 32, 34, 40, 50, 52], "adapt": [3, 8, 25, 26, 32, 34, 35, 38], "org": [3, 20], "findpython": 3, "reintroduc": 3, "commit": [3, 8, 16], "0288eced23a9a541a88005a7ed30b8f019e06226": 3, "drop": [3, 8], "reduc": [3, 25, 28, 35, 41], "amount": [3, 18, 28, 51], "warn": [3, 8, 16, 35], "simplifi": [3, 22, 25, 26], "docker": [3, 6, 7, 54], "project": [3, 4, 5, 8, 16], "11": [3, 31, 39, 41], "vina": [3, 36, 38, 50], "rotamerconstructor": [3, 47, 49], "heurist": [3, 28, 35, 50], "parametr": [3, 32, 35, 36, 49, 50], "arbitrari": [3, 7, 21, 26, 44], "compound": [3, 15, 50], "motif": [3, 30, 38], "find": [3, 4, 7, 8, 10, 16, 21, 23, 28, 31, 32, 35, 44, 46, 48, 51, 53], "3d": [3, 26], "space": [3, 10, 28, 34, 38], "site": [3, 5, 8, 28], "principl": [3, 34, 40], "geometr": [3, 9, 23, 28, 31, 33, 38, 44], "hash": [3, 26, 28], "particl": [3, 25, 26, 32, 41, 43, 44, 45, 47, 50], "addit": [3, 4, 11, 13, 14, 16, 20, 22, 23, 25, 26, 28, 33, 35, 37], "futur": [3, 25, 26], "break": [3, 4, 8, 16], "scwrlrotamerconstructor": 3, "scwrl4rotamerconstructor": [3, 47, 50], "action": [3, 7, 13, 16, 17, 18, 19, 32, 54], "track": [3, 11, 20, 30, 35, 47], "modellinghandl": [3, 29, 31, 35], "extern": [3, 4, 5, 8, 28, 34], "external_script": [3, 8], "recent": [3, 16], "appli": [3, 7, 10, 11, 15, 16, 20, 22, 26, 28, 29, 31, 32, 34, 35, 36, 38, 40, 44, 47, 49, 51], "apach": [3, 20], "licens": [3, 17, 19], "2010": [3, 38, 48], "dunbrack": [3, 38, 48], "replac": [3, 20, 21, 22, 34, 35], "reproduc": [3, 20, 35], "data_gener": [3, 28, 37, 48], "rotamer_librari": [3, 35, 36, 48], "penultim": 3, "samplemontecarlo": [3, 30, 34], "make": [3, 4, 7, 8, 11, 13, 16, 18, 20, 21, 22, 26, 37, 40, 48, 54], "sampler": [3, 23, 24, 26, 28, 30, 31, 32, 35], "closer": [3, 26, 30, 31], "scorer": [3, 17, 28, 30, 31, 35, 40, 42, 54], "cooler": [3, 30, 31], "both": [3, 21, 26, 29, 35, 44, 47, 51], "recip": [3, 6], "peptid": [3, 21, 23, 25, 26, 28, 35, 36, 47], "rawmodel": [3, 8], "treat": [3, 8, 25, 28, 35, 36, 37, 51], "stereochem": [3, 35], "problemat": [3, 5, 28], "despit": 3, "being": [3, 5, 8, 10, 21, 26, 28, 31, 34, 35, 44, 51], "graph": [3, 12, 38, 47, 54], "problem": [3, 7, 10, 13, 16, 26, 28, 31, 32, 34, 35, 40, 42, 44, 46, 48, 52], "treepack": 3, "astar": 3, "montecarlo": 3, "distinguish": [3, 23, 25, 37, 39, 41, 51], "constant": [3, 25, 32, 39, 41, 52], "itself": [3, 4, 8, 16, 26, 28, 34, 36, 37, 39, 41], "pairwis": [3, 8, 10, 22, 28, 31, 35, 39, 41, 42, 43, 44, 46, 47, 49, 50, 52], "interact": [3, 8, 25, 32, 39, 40, 41, 43, 44, 45, 49], "decompos": [3, 10], "disconnect": 3, "dssp": [3, 26, 41], "secondari": [3, 13, 26, 28, 38, 41], "assign": [3, 10, 22, 26, 31, 34, 39, 41, 50, 52], "decid": [3, 8, 32, 50], "whether": [3, 5, 8, 10, 11, 13, 20, 22, 25, 26, 31, 32, 34, 35, 36, 39, 40, 41, 49, 50, 51], "belong": [3, 4, 16, 21, 22, 26, 29, 31, 34, 35, 36, 39, 40, 41, 45, 49, 50], "actual": [3, 8, 13, 16, 22, 26, 28, 34, 35, 36, 40, 41, 42, 50, 51], "frame": [3, 16, 35, 36, 46, 47, 49, 50, 52, 54], "question": [3, 27], "ident": [3, 26, 27, 28, 41, 51], "glycin": [3, 22, 26, 32, 36, 49], "alanin": [3, 49], "structuredb": [3, 13, 24, 26, 28, 31, 35, 37], "strictli": 3, "letter": [3, 5, 21, 22, 26, 27, 34, 49], "anymor": [3, 10, 28, 35], "coordin": [3, 9, 26, 28, 31, 32, 34, 35, 38, 39, 47], "tool": [3, 4, 23, 35, 37, 42, 47], "msm": 3, "initi": [3, 10, 21, 22, 26, 28, 31, 32, 34, 35, 36, 39, 40, 41, 46, 49, 50, 51], "posit": [3, 8, 9, 22, 23, 25, 26, 27, 28, 29, 31, 32, 34, 35, 36, 38, 39, 40, 41, 43, 44, 45, 46, 49, 50, 54], "dynamicspatialorgan": 3, "rt": [3, 34], "oper": [3, 10, 16, 18, 21, 26, 28, 40], "clash": [3, 28, 31, 32, 34, 35, 39, 41, 42, 44, 47], "candid": [3, 30, 33, 34, 35, 54], "earli": 3, "weight": [3, 26, 28, 31, 34, 35, 39, 41, 49], "handl": [3, 8, 9, 13, 19, 22, 28, 30, 36, 40, 44, 54], "ligand": [3, 35, 36, 49, 50], "oligomer": 3, "comput": [3, 8, 19, 20, 28, 31, 33, 38, 39, 41], "ccd": [3, 30, 31, 34], "superposit": [3, 28, 31, 34], "cluster": [3, 31, 37, 40], "consist": [3, 8, 20, 21, 25, 28, 29, 31, 32, 34, 35, 36, 37, 40, 44, 49, 51], "block": [3, 30, 45, 47], "compar": [3, 8, 22, 23, 26, 31, 32, 51], "de": [3, 30, 54], "novo": [3, 30, 54], "solver": 3, "refactor": 3, "select": [3, 10, 26, 28, 34, 35, 36, 47], "hydrogen": [3, 21, 22, 25, 35, 38, 41, 49, 50], "mm": [3, 18, 23, 32, 35, 54], "instanc": [3, 8, 13, 24, 25, 37, 53], "smng": 3, "macro": [4, 8], "fed": [4, 16], "cmake_support": [4, 8, 16, 20], "easili": [4, 16, 35], "categori": 4, "vari": [4, 37], "integr": [4, 8, 38], "contribut": [4, 10, 16, 17, 19, 20, 54], "Its": [4, 16, 19], "declar": [4, 8, 16], "manag": [4, 8, 20, 42], "almost": [4, 32, 35], "them": [4, 8, 16, 22, 25, 26, 27, 28, 29, 31, 35, 36, 40, 45], "home": [4, 5], "Then": [4, 8, 11, 35], "littl": [4, 8, 16, 37], "helper": [4, 12, 16, 17, 21, 25, 31, 36, 37, 54], "packag": [4, 8, 16], "probabl": [4, 8, 10, 13, 16, 26, 27, 28, 31, 32, 34, 49, 50, 51], "dare": 4, "best": [4, 31, 35, 44], "practic": [4, 8, 25, 26], "brew": 4, "_name": 4, "name_pymod": 4, "promod3_nam": 4, "promod3_name_head": 4, "source1": [4, 16], "source2": [4, 16], "header1": 4, "header2": 4, "in_dir": 4, "dir": [4, 8, 18], "header3": 4, "header4": 4, "depends_on": 4, "dep1": 4, "dep2": 4, "header_output_dir": 4, "link_cmd": 4, "libpromod3_nam": 4, "than": [4, 8, 13, 14, 16, 21, 22, 26, 28, 31, 32, 33, 35, 36, 41, 44, 50], "group": [4, 14, 24, 26, 27, 28, 41, 44, 45, 46, 47, 50, 52], "said": 4, "promod3_mod": 4, "anoth": [4, 14, 22, 29, 32, 35, 36, 44], "altern": [4, 5, 8, 31, 34, 35, 48, 50], "predefin": [4, 18, 25, 35, 39, 41], "ost_librari": 4, "pymod": [4, 8, 16], "cpp": 4, "source3": 4, "source4": 4, "translat": [4, 8, 20, 26, 49, 51], "dict": [4, 28, 31, 33, 34, 39, 41], "end_transl": 4, "output_dir": 4, "need_config_head": 4, "dictionari": [4, 5, 13, 15, 33, 38], "mark": [4, 20, 50], "config_head": 4, "config": [4, 8], "convert_module_data": 4, "convert": [4, 5, 22, 25, 26, 27, 35, 37, 39, 41, 51, 52], "portabl": [4, 17, 25, 26, 27, 39, 41, 51], "in_path": 4, "out_path": 4, "access": [4, 5, 8, 21, 22, 26, 27, 28, 31, 35, 39, 40, 41, 49], "portable_fil": 4, "module_data": 4, "library1": 4, "linker": [4, 35], "flag1": 4, "library2": 4, "flag2": 4, "data1": 4, "data2": 4, "base_target": 4, "wise": 4, "regist": [4, 8], "feed": [4, 21, 31], "codetest": [4, 8], "made": [4, 5, 20, 51], "word": 4, "host": [4, 7, 8, 16], "wild": 4, "matter": [4, 7, 28, 53], "program": [4, 5, 8, 12], "languag": [4, 20], "gather": [4, 12, 16, 26, 28, 47, 49, 51], "test_suite_": 4, "_xml": 4, "per": [4, 8, 10, 12, 16, 21, 27, 31, 34, 35, 39, 40, 41, 44], "basi": [4, 8, 16, 20, 28, 32, 33, 34, 48], "test_foo": 4, "effect": [4, 8, 10, 25, 36, 44], "give": [4, 8, 16, 20, 23, 28, 31, 34, 35, 49], "somewher": 4, "dedic": [4, 8, 16], "subtre": [4, 8], "rel": [4, 5, 9, 10, 26, 28, 32, 41], "built": [4, 5, 25, 26, 40, 45], "overridden": 4, "add_doc_sourc": [4, 8], "rst": [4, 8, 16], "rst1": 4, "rst2": 4, "fill": [4, 8, 13, 16, 23, 26, 29, 30, 31, 33, 35], "evalu": [4, 8, 32, 35, 39, 40, 41, 46, 47, 49, 51, 54], "branch": [4, 8, 17], "add_doc_depend": 4, "dep": 4, "dependency1": 4, "dependency2": 4, "mostli": [4, 16], "known": [4, 11, 21, 40, 50], "good": [4, 8, 18, 25, 26, 35], "under": [4, 8, 20], "relat": [4, 8, 13, 26, 28, 37, 38, 49], "absolut": [4, 5, 34], "launcher": [4, 8], "live": [4, 8], "mean": [4, 8, 13, 16, 20, 21, 25, 28, 32, 35, 36], "connect": [4, 5, 7, 10, 16, 21, 25, 26, 31], "libexec": [4, 8], "stabl": [5, 16], "gitlab": [5, 53], "equip": 5, "explor": [5, 38], "tag": 5, "simpli": [5, 21, 22, 28, 31, 32, 34, 35, 49, 50, 51], "pull": [5, 8, 16, 18], "scicor": [5, 8, 18, 19, 53], "uniba": [5, 8, 18, 19, 53], "ch": [5, 8, 18, 19, 53], "schwede": [5, 8, 18, 19, 38, 53], "image_nam": 5, "dockerfil": [5, 7], "path_to_dockerfile_dir": 5, "chose": 5, "eg": [5, 7], "promod": [5, 7], "mount": [5, 7], "volum": 5, "NOT": 5, "struc": 5, "v": [5, 31, 37, 38, 41], "thu": [5, 11, 33, 49], "rm": [5, 33], "struct": [5, 26, 37], "pwd": 5, "compoundlib": [5, 50], "chemic": [5, 15, 21, 35, 39], "connectivi": 5, "rule": [5, 8, 9, 16], "processor": 5, "compon": [5, 7, 10, 15, 26, 33, 41, 50], "regularli": 5, "ship": [5, 48], "quickli": [5, 8, 32], "howev": [5, 20, 26], "reli": 5, "correct": [5, 25, 50], "greatest": 5, "date": [5, 7, 16, 20], "suggest": [5, 8, 43], "origin": [5, 7, 9, 13, 16, 20, 22, 26, 31, 34, 35, 40, 52], "lib": [5, 7, 37], "resid": [5, 28], "simplest": [5, 8, 30], "chemdict_tool": 5, "mmcif": [5, 11], "download": 5, "wwpdb": 5, "rather": [5, 7, 8, 11, 16, 34, 51], "therefor": [5, 8, 22, 24, 26, 28, 32, 34, 35, 51], "entrypoint": 5, "chemlib": [5, 7], "upat": 5, "complib_dir_localhost": [5, 7], "complib_dir_contain": [5, 7], "newli": [5, 21, 34], "didnt": 5, "share": [5, 7, 12, 17, 20, 25, 37, 53, 54], "successfulli": 5, "overriden": 5, "look": [5, 8, 11, 16, 22, 26, 36, 40, 50], "conop": [5, 21, 22, 25, 27, 41, 49, 50], "getdefaultlib": 5, "getcreationd": 5, "offer": [6, 20, 24, 30, 49, 51], "path_to_promod3_checkout": 6, "duplic": [6, 28], "bootstrap": [6, 7], "sugar": 6, "standalon": 7, "imag": 7, "promod3_checkout": 7, "sudo": 7, "img": [7, 22], "ipython": 7, "power": [7, 20], "notebook": 7, "jupyt": 7, "playground": 7, "nglview": 7, "lddt": 7, "distanc": [7, 9, 22, 26, 28, 31, 33, 35, 36, 39, 40, 41, 43, 49], "molck": 7, "molecular": [7, 18, 32, 35], "checker": 7, "chemdicttool": 7, "individu": [7, 20, 39, 41], "my_script": 7, "kernel": [7, 38], "snippet": 7, "dihedr": [7, 9, 18, 22, 23, 25, 26, 32, 34, 35, 41, 50, 51, 54], "helix": [7, 18, 22, 34, 47], "hellyeah": [7, 18], "bb_list": [7, 18, 21, 22, 23, 26, 29, 31, 32, 34, 35, 40], "savepdb": [7, 18, 21, 22, 25, 26, 28, 30, 31, 32, 34, 35, 36, 47], "toentiti": [7, 18, 21, 22, 25, 26, 32, 34, 36], "displai": [7, 11, 13, 14, 20], "view": [7, 13, 16, 27, 35, 40], "show_fil": 7, "ll": [7, 10, 26], "raw": [7, 18, 25, 26, 27, 28, 30, 31, 37, 39, 41, 44, 51], "localhost": 7, "didn": [7, 28], "meddl": [7, 35], "univers": [8, 53], "basel": [8, 53], "main": [8, 35, 37, 51], "fantast": 8, "account": [8, 53], "coars": 8, "grain": 8, "manner": [8, 10, 34], "advic": [8, 16], "piec": [8, 28], "subfold": 8, "purpos": [8, 10, 20, 35, 51], "short": [8, 16, 35, 37], "togeth": [8, 16, 26, 44], "clone": [8, 18], "take": [8, 10, 21, 26, 27, 28, 31, 32, 34, 35, 37, 41, 44, 50, 52], "fine": 8, "fellow": 8, "wait": 8, "switch": [8, 16, 40], "stori": 8, "checkout": [8, 16], "sit": 8, "real": [8, 13, 37], "perfect": 8, "moment": 8, "instal": [8, 16, 37, 54], "hook": [8, 17], "cp": [8, 16], "pre_commit": [8, 16], "pre": [8, 16, 35], "With": [8, 30, 35, 51], "abort": [8, 10, 32, 35], "admir": 8, "empti": [8, 11, 13, 22, 26, 28, 31, 35, 49], "bring": 8, "echo": 8, "mod": 8, "side": [8, 35, 38], "optimis": 8, "index": [8, 10, 21, 22, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 39, 40, 41, 45, 49, 50, 51], "perfectli": 8, "blank": 8, "chanc": [8, 10, 35], "quit": [8, 13], "headach": 8, "headlin": 8, "member": [8, 13, 31, 35], "still": [8, 14, 25, 26, 35, 37], "content": [8, 12, 17, 20, 23, 26, 42, 47, 54], "add_subdirectori": 8, "direct": [8, 20, 22, 24, 26, 33, 41, 49, 50], "magic": [8, 37], "sidechain_rst": 8, "custom": [8, 26, 34, 35, 36, 37, 48, 49], "On": 8, "submodul": 8, "entiti": [8, 13, 14, 20, 21, 22, 26, 28, 33, 35, 42, 47], "maintain": [8, 16], "complex": [8, 16, 36, 44, 49, 52], "condit": [8, 20, 27], "rare": 8, "modifi": [8, 16, 20, 22, 31, 35], "enumer": [8, 10, 21, 25, 26, 28, 31, 35, 40, 47, 49, 50, 51], "sidechain_pymod": 8, "diverg": 8, "final": [8, 18, 26, 28, 30, 31, 35, 40, 42, 44, 46, 47, 49], "sub": [8, 26], "src": [8, 16], "subdir": 8, "shown": [8, 14, 35], "softwar": [8, 20, 38, 49], "drawback": 8, "intervent": 8, "plu": [8, 13, 15, 26, 44, 49], "static": [8, 14, 21, 25, 26, 27, 28, 31, 36, 37, 39, 41, 46, 48, 51], "imagin": 8, "debug": [8, 10, 21], "solut": [8, 10, 28, 31, 32, 34, 35, 36, 46, 47], "gitignor": 8, "dbg": 8, "conquer": 8, "feel": [8, 16], "did": [8, 26, 31, 35], "anywai": 8, "test_": 8, "sport": 8, "monolith": 8, "test_sidechain_reconstruct": 8, "framework": [8, 19, 38], "subclass": [8, 13], "runnabl": 8, "common": [8, 13, 20, 28], "attribut": [8, 13, 20, 26, 35, 36, 51], "mol": [8, 9, 18, 21, 22, 23, 26, 27, 28, 29, 31, 32, 34, 35, 36, 38, 40, 47, 49, 50, 51, 54], "reconstructtest": 8, "testreconstruct": 8, "in_fil": 8, "join": [8, 21, 23, 26, 31, 32, 34, 36], "1ey": 8, "ref_fil": 8, "1eye_rec": 8, "prot": [8, 23, 26, 28, 32, 34, 36, 47], "loadpdb": [8, 21, 23, 25, 26, 28, 30, 31, 32, 34, 35, 36, 42, 47], "prot_rec": 8, "assertequ": 8, "getatomcount": 8, "test_reconstruct_sidechain": 8, "sidechain_unit_test": 8, "sidechain_test_data": 8, "gui": [8, 27], "mood": 8, "carri": [8, 11, 20], "job": [8, 26, 34, 35], "until": [8, 10, 28, 32, 35, 40, 50], "intermedi": 8, "public": [8, 37, 49], "prepar": [8, 20, 35], "chmod": 8, "secondli": 8, "propag": [8, 22], "add_custom_target": 8, "pm_action_init": 8, "automatis": 8, "easi": 8, "test_act": [8, 17], "actiontestcas": 8, "subject": [8, 20], "explan": 8, "shebang": 8, "env": [8, 18, 21, 25, 28, 32, 33, 35, 36, 39, 40, 41, 42], "interpret": [8, 11], "outsid": [8, 40], "virtual": 8, "mess": [8, 16, 40], "enough": [8, 16, 25, 26, 35, 37], "definit": [8, 20, 26, 27, 31, 41, 49], "bell": 8, "whistl": 8, "hide": [8, 16], "behind": 8, "alot": 8, "functions_specific_to_your_act": 8, "overview": [8, 16], "concern": 8, "backbonescor": [8, 42], "disk": [8, 25, 28, 39, 41, 51], "necessari": [8, 22, 34, 40], "kept": [8, 16, 25, 31, 32, 35, 36, 45, 49], "listen": 8, "organ": [8, 26, 51], "backbonescoreenv": [8, 28, 31, 34, 35, 41, 42], "whenev": [8, 21, 31, 40], "size": [8, 21, 22, 26, 27, 28, 32, 34, 35, 37, 39, 40, 41], "idxhandl": 8, "integ": [8, 13, 21, 28, 40], "getenvsetdata": 8, "determin": [8, 11, 20, 25, 26, 31, 34, 40, 41], "invalid": [8, 21, 25, 26, 28, 29, 32, 35, 36, 39, 40, 41, 45, 49, 51], "backbonescoreenvlisten": 8, "commonli": [8, 18, 30, 31, 41], "spatial": [8, 28, 42], "radiu": [8, 33, 39, 41, 49], "master": [8, 16], "anyon": [8, 16], "respons": [8, 16, 20], "doesn": [8, 16, 29, 32, 34, 35, 51], "api": [8, 17], "indic": [8, 10, 11, 13, 20, 21, 22, 25, 26, 27, 28, 29, 31, 32, 35, 36, 40, 44, 47, 49], "rang": [8, 9, 21, 22, 23, 25, 26, 27, 28, 29, 32, 34, 35, 39, 40, 41, 51], "getnumchain": 8, "getchains": 8, "chain_idx": [8, 21, 31, 34, 35, 36, 39, 40, 41], "getnumresidu": [8, 21, 25], "cbpackingscor": [8, 35, 37, 42], "cbetaenvlisten": 8, "findwithin": [8, 28], "neighbor": [8, 21, 35], "cbetascor": [8, 35, 37, 42], "calcul": [8, 22, 26, 27, 28, 31, 32, 33, 34, 39, 40, 41, 42, 44, 45, 46, 47, 49, 50], "second": [8, 10, 22, 25, 26, 28, 31, 32, 35, 39, 40, 41, 43, 44], "pairwisescor": [8, 35, 42, 49], "directli": [8, 10, 18, 26, 28, 31, 35, 36, 40, 44, 49, 51, 53], "pythonpath": 8, "lib64": 8, "python3": 8, "export": [8, 21], "bashrc": 8, "test_cod": 8, "definem": 8, "promod3_root": 8, "afterward": [8, 26, 35], "small": [8, 26, 32, 35, 36], "cc": [8, 16, 37], "promod3_shared_data_path": [8, 37], "Of": [8, 17], "cours": 8, "elabor": [8, 20], "tutori": 8, "educ": 8, "internet": 8, "nevertheless": 8, "exot": 8, "affect": [8, 22, 35, 49, 50], "check_xml": 8, "shortli": 8, "written": [8, 20, 28, 37], "pytest": 8, "testcasenam": 8, "xml": 8, "your_modul": [8, 16], "test_awesome_featur": 8, "test_suite_your_module_run": 8, "concept": 8, "els": [8, 16, 36, 37], "henc": [8, 14, 21, 26, 37], "crucial": 8, "particular": [8, 10, 20, 26, 28, 31, 32, 34, 49, 51], "changelog": [8, 19], "fulli": [8, 16, 21, 22, 26, 29, 30, 36], "scriptpath": 8, "referenc": 8, "literalinclud": 8, "loop_main": 8, "hello_world": 8, "test_doctest": 8, "guidelin": [8, 37], "availabl": 8, "polici": 8, "sync": 8, "promod3_path": 8, "rsync": 8, "iv": 8, "az": 8, "exclud": [8, 20, 26], "task": [8, 16, 32, 35, 37, 40], "watch": 8, "past": [8, 16, 22, 29], "restrict": [8, 16, 29], "becaus": [8, 16, 21, 28, 35, 40], "term": [8, 20, 26, 49, 51, 52], "often": [8, 11, 13, 32], "came": 8, "academ": 8, "charg": [8, 20, 21, 25, 32, 49, 50], "commerci": [8, 20], "reason": [8, 16, 20, 32, 34, 52], "utilis": [8, 16], "pictur": 8, "legal": [8, 20], "uncertain": 8, "forbidden": 8, "permiss": [8, 20], "ask": 8, "acknowledg": 8, "phrase": 8, "nice": 8, "promot": 8, "evaluategromacsposrul": [9, 12], "anchor": [9, 21, 35], "gromac": 9, "desir": [9, 18, 25, 26, 31, 32, 34, 35, 39, 40, 41], "max": [9, 10, 21, 29, 33, 35, 36, 41, 51, 52], "vec3": [9, 21, 22, 26, 32, 33, 43, 44, 49], "constructcterminaloxygen": [9, 12], "c_po": [9, 22, 41], "ca_po": [9, 22], "n_po": [9, 22, 41], "oxt": [9, 21, 25], "nitrogen": [9, 22, 32, 43, 49, 50], "alpha": [9, 22, 41, 47], "tupl": [9, 10, 11, 22, 25, 26, 28, 29, 33, 35, 36, 44], "constructatompo": [9, 12], "bond_length": [9, 25], "float": [9, 10, 21, 22, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 39, 40, 41, 43, 44, 49, 50, 51, 52], "constructcbetapo": [9, 12], "beta": [9, 22, 33, 41], "rotationaroundlin": [9, 12], "axi": [9, 22], "transform": [9, 20, 22, 28, 34, 35, 51], "rotat": [9, 22], "radian": [9, 22, 25, 27], "pi": [9, 22, 27, 34, 41, 51], "matrix": [9, 26, 28], "mat4": [9, 22, 28, 35], "3x3": 9, "mat3": 9, "stemcoord": [9, 12], "residuehandl": [9, 21, 22, 26, 29, 31, 32, 33, 34, 35, 49, 50, 51], "runtimeerror": [9, 10, 21, 22, 25, 26, 27, 28, 29, 31, 32, 34, 35, 36, 39, 40, 41, 44, 45, 48, 49, 50, 51], "n_coord": 9, "ca_coord": 9, "c_coord": 9, "carbon": [9, 22, 43, 49, 50], "stempairorient": [9, 12], "n_stem": [9, 23, 26, 29, 31, 32, 34], "c_stem": [9, 23, 26, 29, 31, 32, 34], "orient": [9, 32, 41], "pair": [9, 10, 25, 26, 27, 28, 32, 34, 36, 37, 39, 40, 41, 44, 49, 51], "stem": [9, 22, 25, 26, 28, 29, 31, 32, 34, 35, 36], "four": [9, 34], "lookup": [9, 21, 23, 28, 42], "angle_on": 9, "angle_two": 9, "respect": [9, 25, 28, 35], "angle_thre": 9, "angle_four": 9, "solv": [10, 16, 47, 52], "node": 10, "n_i": 10, "e_": 10, "obtain": [10, 18, 20, 23, 28, 35], "x_1": 10, "x_2": 10, "x_n": 10, "displaystyl": 10, "sum_ie_": 10, "x_i": 10, "sum_i": 10, "sum_": 10, "n_j": 10, "x_j": 10, "graphminim": [10, 12, 46], "addnod": 10, "self_energi": [10, 49], "idx": [10, 21, 22, 25, 26, 28, 32, 40, 49], "addedg": 10, "node_idx_on": 10, "node_idx_two": 10, "pairwise_energi": 10, "edg": [10, 28], "overal": [10, 34, 40, 46], "inconsist": [10, 13, 21, 22, 25, 26, 29, 31, 32, 36, 40, 49], "applyde": 10, "node_idx": 10, "e_cut": 10, "dead": [10, 38], "elimin": [10, 38], "deactiv": 10, "goldstein": [10, 38], "criterion": [10, 34], "goldstein1994": [10, 38], "domin": 10, "applyedgedecomposit": 10, "edge_idx": 10, "epsilon": [10, 25, 36, 52], "decomposit": [10, 28, 33, 46], "procedur": [10, 28, 34, 36, 50], "krivov2009": [10, 38, 47, 49], "threshold": [10, 26, 28, 32, 33, 35, 36, 40, 51], "prune": [10, 52], "consider_all_nod": 10, "iter": [10, 26, 27, 28, 31, 32, 34, 35, 49], "observ": [10, 26, 28, 32, 50, 52], "wether": 10, "who": [10, 47], "success": [10, 11, 34], "reset": [10, 21, 25, 32, 34, 40, 49], "undo": 10, "dee": 10, "treesolv": [10, 36, 47], "max_complex": [10, 52], "inf": [10, 32, 35], "initial_epsilon": [10, 52], "02": [10, 36, 52], "width": [10, 37, 47], "subsequ": [10, 20, 22, 35, 49], "tri": [10, 28, 29, 35, 44, 51], "constructetd": 10, "larger": [10, 14, 22, 26, 28, 35, 50], "steadili": [10, 34], "further": [10, 28, 29, 35, 36, 37, 50], "descsrib": 10, "permut": 10, "repres": [10, 20, 21, 23, 26, 27, 28, 29, 40, 41, 44, 45, 46, 47, 50, 52, 54], "astarsolv": 10, "e_thresh": [10, 35], "max_n": 10, "100": [10, 25, 26, 28, 32, 33, 34, 40], "max_visited_nod": 10, "100000000": [10, 36, 52], "maximum": [10, 26, 31, 32, 33, 34, 49, 50], "soon": [10, 32, 41, 47, 51], "much": [10, 26, 28, 35], "faster": [10, 25, 26, 28, 32, 33, 40], "memori": [10, 26, 28, 35, 37], "looooooong": 10, "cap": 10, "e_tresh": 10, "leach1998": [10, 38], "maxim": [10, 26, 28, 31, 32, 34, 35, 38, 40, 41], "20": [10, 13, 21, 22, 25, 26, 27, 28, 35, 36, 41], "byte": [10, 28, 37], "mcsolv": 10, "mc_step": [10, 35], "100000": [10, 32], "start_temperatur": [10, 34], "1000": [10, 27, 31], "change_frequ": [10, 34], "cooling_factor": [10, 34], "seed": [10, 24, 27, 31, 32, 34], "total": [10, 14, 26, 28], "random": [10, 22, 24, 27, 31, 32, 34], "estim": [10, 28, 33, 34, 35, 38, 41, 44, 49, 50, 51], "accept": [10, 13, 20, 31, 32, 34, 35, 36, 37], "temperatur": [10, 31, 34, 49], "metropoli": [10, 31, 34], "exp": [10, 34], "left": [10, 11, 32], "frac": 10, "diff": 10, "multipli": [10, 34], "achiev": [10, 16], "simul": [10, 25, 31, 32, 34, 35], "anneal": [10, 31, 34], "factor": [10, 25, 34, 49], "naivesolv": 10, "think": 10, "becom": [10, 35, 51], "appropri": [10, 20, 27, 28, 35, 37, 50], "techniqu": [10, 38], "collect": [11, 14, 21, 28, 40], "mani": [11, 13, 26, 28, 32, 33, 35, 50], "alon": [11, 20], "msgerrorandexit": 11, "msg": 11, "exit_statu": 11, "send": 11, "log": [11, 16, 33, 35, 49, 50], "tradition": 11, "reserv": 11, "scriptnam": 11, "__doc__": [11, 13], "add_argu": 11, "opt": [11, 13, 16], "fileexist": 11, "ext": 11, "fileextens": 11, "specimen": 11, "dai": 11, "suffix": 11, "tripl": 11, "boolean": [11, 13, 35], "unrecognis": 11, "filegzip": 11, "devot": 12, "se": 12, "introduct": [12, 17], "parser": 12, "messag": [12, 13, 37], "geometri": [12, 23, 26, 31, 54], "staticruntimeprofil": [12, 14], "eventu": 13, "hint": 13, "simplif": 13, "activ": [13, 14, 16, 35, 44, 49, 52], "verif": 13, "pass": [13, 16, 21, 25, 26, 28, 29, 32, 34, 35, 44, 45, 49, 50], "pushverbositylevel": 13, "addalign": 13, "assemblepars": 13, "docstr": 13, "child": 13, "argpars": 13, "argumentpars": 13, "assembl": 13, "throughout": [13, 16, 24, 25], "beyond": 13, "down": [13, 22, 26, 28, 34], "influenc": [13, 28, 40, 50], "prog": 13, "clip": 13, "charact": [13, 20, 26, 28, 35], "kick": 13, "allow_multitempl": 13, "commandlin": 13, "post": 13, "multitempl": 13, "namespac": [13, 37], "doubt": 13, "role": 13, "aln_sourc": 13, "13": [13, 31], "never": [13, 16, 26, 31, 35, 36, 37, 39, 41], "14": [13, 24, 31], "open": [13, 25, 26, 27, 28, 37, 39, 41, 51, 53], "15": 13, "16": [13, 31, 32, 34], "unsupport": [13, 37], "unless": [13, 20, 21, 22, 25, 31, 39, 41], "17": [13, 26], "mutlipl": 13, "18": 13, "decod": 13, "21": [13, 26], "22": [13, 26], "23": [13, 31, 42], "24": [13, 31], "25": [13, 26, 28, 33, 36], "26": 13, "27": 13, "28": 13, "addfrag": [13, 26], "fragger": [13, 23, 26, 28, 34, 35], "seqprof": 13, "blosum62": [13, 23, 26, 28, 40], "psipr": [13, 26, 28, 40, 41], "predict": [13, 26, 28, 35, 38, 40, 41], "fetch": [13, 16, 18, 28], "agreement": [13, 20, 26, 28, 41], "fragger_handl": [13, 35], "56": 13, "addprofil": 13, "loadsequenceprofil": [13, 26, 31], "seq": [13, 21, 23, 26, 28, 29, 31, 35, 40, 42], "profilehandl": [13, 26, 28, 31, 35], "51": 13, "52": 13, "53": 13, "54": 13, "addstructur": 13, "attach_view": 13, "callabl": [13, 16], "entityhandl": [13, 21, 22, 26, 33, 35, 36, 40], "structure_sourc": 13, "32": 13, "33": [13, 33], "34": 13, "41": 13, "42": 13, "43": 13, "44": [13, 21], "too": [13, 16, 31, 32, 35, 37], "45": [13, 36, 44], "constraint": [13, 26, 32, 34, 40], "none": [13, 26, 28, 33, 34, 35, 36, 49], "argv": 13, "complet": [14, 16, 22, 25, 32, 34, 35, 36, 51], "dpm3_runtime_profiling_level": 14, "timer": 14, "statist": [14, 26, 38], "outer": [14, 26], "paus": 14, "inner": 14, "sum": [14, 28, 29, 35, 36, 43, 44, 49], "spent": [14, 18], "count": [14, 28, 29, 34, 35, 39, 41], "twice": [14, 40], "pm3_runtime_profiling_level": 14, "startscop": 14, "scope": 14, "resum": 14, "miser": 14, "printsummari": 14, "max_to_show": 14, "summari": [14, 26], "10": [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, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "form": [14, 20, 24, 25, 26, 30, 35, 40, 49, 51], "isen": 14, "clear": [14, 21, 22, 31, 35, 40], "highest": [15, 33], "hierarchi": 15, "decent": 15, "path_to_chemlib": 15, "global": [15, 26, 31, 35, 37, 49], "plan": 16, "tightli": 16, "sometim": 16, "major": [16, 35], "hotfix": 16, "life": 16, "label": [16, 25], "featur": [16, 17, 23, 28, 31, 35, 37, 38, 53], "thoroughli": 16, "trustworthi": 16, "merg": [16, 25, 28, 29, 31, 35, 36, 40, 49], "forg": 16, "seamlessli": 16, "strict": 16, "briefli": 16, "review": [16, 53], "abil": 16, "obviou": 16, "servic": [16, 20], "third": [16, 17, 20, 31, 32], "parti": [16, 17, 20], "toolbox": 16, "peopl": 16, "insight": 16, "malici": 16, "figur": 16, "messi": 16, "tidi": 16, "rebas": 16, "branchnam": 16, "middl": 16, "awai": [16, 28, 36], "temporarili": 16, "straight": 16, "forward": 16, "m": [16, 28, 38], "comment": [16, 20], "involv": [16, 30, 44, 49], "stack": 16, "One": [16, 21, 22, 26, 28, 35, 40, 44, 49, 52], "loss": [16, 20], "stash": [16, 31, 34, 40], "resolv": [16, 21, 32, 35], "conflict": 16, "were": [16, 26, 31, 35], "save": [16, 22, 25, 26, 27, 28, 31, 34, 37, 39, 40, 41, 51], "reviv": 16, "pop": [16, 31, 34, 40], "push": 16, "histori": 16, "worst": 16, "unus": 16, "proper": [16, 26, 50], "ever": [16, 34], "reappear": 16, "emploi": 16, "pylint": 16, "close": [16, 18, 22, 26, 28, 31, 32, 34, 35, 36, 44], "understand": 16, "complaint": 16, "sound": [16, 50], "overli": 16, "seem": 16, "inconveni": 16, "croak": 16, "smart": 16, "cope": 16, "caus": [16, 20, 33], "pm3_csc": 16, "filecheck": 16, "pylintrc": 16, "rc": 16, "suppos": [16, 34], "init": 16, "submodule1": 16, "hh": [16, 37], "test_your_modul": 16, "test_submodule1": 16, "action_nam": 16, "fit": [16, 20, 22, 26, 30, 31, 34, 54], "anywher": 16, "recreat": 16, "reader": [16, 18], "unfortun": 16, "usabl": 16, "tini": [16, 35], "dive": [16, 35], "resembl": [16, 28], "unix": 16, "quick": 17, "mainten": 17, "exisit": 17, "util": 18, "Or": [18, 37], "visual": 18, "dng": 18, "meant": [18, 21, 26, 33, 35, 50], "conserv": [18, 29], "mechan": [18, 20, 28, 31, 32, 34, 35, 40], "multi": 18, "thread": [18, 25, 35, 38], "cpu": [18, 25, 35], "platform": [18, 25], "hardwar": 18, "slower": [18, 25, 26, 27, 35, 39, 41, 51], "pm3_openmm_cpu_thread": [18, 25, 35], "engin": 19, "biasini2013": [19, 38], "biologi": [19, 38], "modular": 19, "aim": 19, "prototyp": 19, "novel": [19, 38], "setcompoundschemlib": [19, 54], "januari": 20, "2004": 20, "AND": [20, 39, 41, 50], "FOR": 20, "reproduct": 20, "shall": 20, "licensor": 20, "copyright": 20, "owner": 20, "author": 20, "grant": 20, "union": 20, "act": [20, 32], "indirect": 20, "contract": 20, "ii": 20, "ownership": 20, "fifti": 20, "percent": 20, "50": 20, "outstand": 20, "iii": 20, "benefici": 20, "exercis": 20, "modif": [20, 35], "convers": [20, 37], "media": 20, "authorship": 20, "appendix": 20, "editori": 20, "revis": 20, "annot": 20, "remain": [20, 30, 34, 35], "mere": 20, "thereof": [20, 25], "intention": 20, "submit": 20, "inclus": [20, 35], "behalf": 20, "electron": 20, "verbal": 20, "commun": 20, "sent": 20, "mail": 20, "discuss": [20, 26], "conspicu": 20, "Not": 20, "contributor": 20, "whom": 20, "receiv": 20, "herebi": 20, "perpetu": 20, "worldwid": 20, "royalti": 20, "irrevoc": 20, "publicli": 20, "sublicens": 20, "patent": 20, "sell": 20, "transfer": [20, 28], "claim": 20, "necessarili": [20, 52], "infring": 20, "combin": [20, 25, 26, 27, 28, 31, 34, 35, 38, 39, 41, 44, 49, 51], "institut": 20, "litig": 20, "against": [20, 28, 39], "cross": [20, 28], "counterclaim": 20, "lawsuit": 20, "alleg": 20, "constitut": 20, "contributori": 20, "redistribut": 20, "medium": 20, "meet": 20, "recipi": 20, "retain": [20, 28, 35], "trademark": 20, "pertain": 20, "wherev": 20, "normal": [20, 33, 39, 41], "appear": 20, "alongsid": 20, "addendum": 20, "constru": 20, "statement": 20, "compli": 20, "submiss": 20, "explicitli": 20, "notwithstand": 20, "herein": 20, "supersed": 20, "trade": 20, "customari": 20, "disclaim": 20, "warranti": 20, "law": 20, "agre": 20, "AS": 20, "OR": 20, "OF": 20, "express": [20, 44], "impli": 20, "titl": [20, 27], "merchant": 20, "risk": 20, "associ": [20, 26, 29, 45], "liabil": 20, "event": [20, 28], "theori": [20, 38], "tort": 20, "neglig": 20, "deliber": 20, "grossli": 20, "liabl": 20, "damag": 20, "incident": 20, "consequenti": 20, "aris": 20, "inabl": 20, "goodwil": 20, "stoppag": 20, "malfunct": 20, "advis": 20, "choos": [20, 31, 34], "fee": 20, "indemn": 20, "oblig": 20, "indemnifi": 20, "defend": 20, "hold": [20, 28], "harmless": 20, "incur": 20, "assert": 20, "boilerpl": 20, "field": [20, 35, 37, 51], "enclos": [20, 29, 35], "bracket": 20, "syntax": 20, "identif": 20, "archiv": 20, "yyyi": 20, "complianc": 20, "govern": 20, "bundl": 20, "findeigen3": 20, "availab": 20, "claus": 20, "bsd": 20, "copyright_cmak": 20, "heavi": [21, 25, 36, 39, 49, 50], "geom": [21, 22, 25, 26, 28, 32, 35, 44, 49], "1crn": [21, 23, 25, 26, 30, 31, 32, 34, 35, 36, 42, 47], "res_list": [21, 25, 32, 36], "seqres_str": [21, 32, 36], "one_letter_cod": [21, 23, 26, 31, 32, 33, 34, 36], "setinitialenviron": [21, 31, 32, 34, 36, 40, 42], "all_atom": [21, 22, 25, 49], "35": [21, 23, 26], "po": [21, 22, 26, 28, 32, 49], "37": 21, "idx_ca_res_37": 21, "getindex": [21, 25], "new_po": 21, "getpo": [21, 28, 49], "setpo": 21, "insert": [21, 22, 29, 31, 34, 35, 52], "insertinto": [21, 22, 31], "all_atom_po": [21, 50], "setenviron": [21, 32, 36, 40], "36": 21, "getallatomposit": [21, 32, 36], "all_atom_env": 21, "sequencehandl": [21, 26, 28, 29, 35, 40], "sequencelist": [21, 35, 40], "occur": [21, 28, 35, 40, 41], "start_resnum": [21, 22, 26, 31, 34, 35, 36, 39, 40, 41], "concaten": 21, "env_structur": [21, 40], "structral": [21, 40], "constructor": [21, 25, 28, 29, 32, 34, 37, 40, 41, 47, 49, 54], "corrupt": [21, 40], "mismatch": [21, 35, 40], "new_env_po": 21, "resnum": [21, 22, 29, 31, 35, 36, 40], "clearenviron": [21, 40], "num_residu": [21, 25, 34, 36, 39, 40, 41], "stretch": [21, 26, 28, 31, 34, 35, 40, 41], "getenviron": 21, "getseqr": [21, 40], "caution": 21, "tailor": [21, 35], "mainli": [21, 34, 49], "getnumatom": [21, 25], "bound": [21, 25, 28, 31, 49, 50], "getfirstindex": 21, "getlastindex": 21, "unset": [21, 25, 36], "setresidu": 21, "residuehandlelist": 21, "res_index": 21, "other_res_index": 21, "clearpo": 21, "clearresidu": 21, "isset": 21, "atom_nam": [21, 25], "getaa": [21, 22, 25], "aminoacid": [21, 22, 25, 27, 41, 49, 51], "isanyset": 21, "isallset": 21, "getphitors": [21, 22, 47], "def_angl": 21, "0472": [21, 32, 34, 47, 50], "phi": [21, 22, 26, 27, 32, 34, 41, 47, 50, 51], "getpsitors": [21, 22, 47], "7854": [21, 32, 47, 50], "psi": [21, 22, 26, 27, 32, 34, 41, 47, 50, 51], "getomegators": [21, 22], "14159": 21, "omega": [21, 22], "getsequ": [21, 22, 26, 28, 31], "res_indic": [21, 25, 36], "extractbackbon": 21, "pack": 21, "heuristicprocessor": 21, "res_num": 21, "effici": [21, 28, 34, 38, 42], "chainhandl": [21, 22, 29], "all_po": [21, 25, 32], "aminoacidatom": [21, 39], "tlc_an": 21, "tlc": [21, 49], "ala_cb": 21, "arg_ca": 21, "asn_c": 21, "asp_o": 21, "cys_sg": 21, "glu_oe1": 21, "gln_ne2": 21, "gly_n": 21, "xxx_num_atom": 21, "aminoacidhydrogen": 21, "ala_h": 21, "arg_hd3": 21, "asn_hb2": 21, "asp_ha": 21, "cys_hb3": 21, "leu_h": 21, "h1": 21, "h2": 21, "pro": [21, 27, 49, 51], "h3": 21, "distinct": [21, 28, 36, 51], "ala_h1": 21, "hi": [21, 25, 33, 49, 51], "proton": [21, 25, 49, 51], "asp": [21, 49, 51], "glu": [21, 49, 51], "xxx_num_hydrogen": 21, "aminoacidlookup": [21, 25], "properti": [21, 22, 28, 35, 50, 51], "getolc": [21, 22], "aa": [21, 22, 25, 26, 38, 41, 49], "getaaa": 21, "atom_idx": [21, 25], "getaah": 21, "getnumhydrogen": 21, "gethydrogenindex": [21, 25], "getmaxnumatom": 21, "getmaxnumhydrogen": 21, "aaa": [21, 39], "aah": 21, "getatomnam": 21, "getatomnamecharmm": 21, "getatomnameamb": 21, "charmm": [21, 25, 35], "amber": [21, 35], "getel": 21, "getanchoratomindex": 21, "gethnindex": 21, "geth1index": 21, "geth2index": 21, "geth3index": 21, "represent": [22, 23, 25, 26, 27, 37, 39, 41, 49, 51], "manipul": 22, "aaaaaaaa": 22, "typic": [22, 28, 34, 35, 47, 51], "helic": [22, 24, 25, 28, 35, 41], "len": [22, 23, 25, 26, 28, 31, 35, 36, 41, 47], "4f": 22, "torsionsampl": [22, 24, 26, 27, 28, 31, 32, 34, 35, 37, 41], "torsion_sampl": [22, 26, 31, 32, 34, 35, 37], "loadtorsionsampl": [22, 23, 24, 27, 34], "gethistogramindex": [22, 27], "ala": [22, 27, 32, 47, 49, 50, 51], "draw": [22, 27, 34], "setphitors": 22, "setpsitors": 22, "randomized_frag": 22, "oxygen": [22, 35, 43, 49, 50], "amino": [22, 23, 24, 26, 28, 32, 35, 36, 41, 43, 46, 47, 49, 51], "acid": [22, 23, 24, 26, 28, 32, 35, 36, 41, 43, 46, 47, 49, 51], "segment": 22, "shift": [22, 26, 29, 35], "dihedral_angl": 22, "ideal": [22, 32, 52], "180": [22, 34], "degre": [22, 26, 27], "todens": 22, "pad": [22, 37], "high_resolut": 22, "densiti": [22, 32, 38], "imagehandl": 22, "getbound": 22, "alignedcuboid": 22, "setsequ": 22, "replacefrag": 22, "sub_frag": 22, "superpose_stem": 22, "tail": 22, "superpos": [22, 26, 28, 31, 32, 34], "getn": [22, 28], "getca": 22, "getcb": 22, "getc": 22, "geto": 22, "setn": 22, "setca": 22, "setcb": 22, "setc": 22, "seto": 22, "char": [22, 37], "setolc": 22, "olc": 22, "setaa": 22, "xxx": [22, 49], "cb_po": 22, "o_po": 22, "__len__": [22, 26, 45, 49], "resiz": [22, 37], "new_siz": 22, "untouch": 22, "shrink": 22, "deep": [22, 35], "reconstructcbetaposit": 22, "reconstructoxygenposit": 22, "last_psi": 22, "78540": [22, 34], "reconstructcstemoxygen": 22, "after_c_stem": 22, "applytransform": [22, 28], "gettransform": 22, "other_index": 22, "minimum": [22, 26, 28, 44], "rmsd": [22, 23, 26, 28, 31, 32], "superposeonto": 22, "rotatearoundphitors": 22, "sequenti": [22, 35], "rotatearoundpsitors": 22, "rotatearoundomegators": 22, "rotatearoundphipsitors": 22, "setaroundphitors": 22, "setaroundpsitors": 22, "setaroundomegators": 22, "setaroundphipsitors": 22, "transomegators": 22, "thresh": [22, 49, 51], "allow_prepro_ci": 22, "tran": [22, 49, 51], "unfavor": [22, 32], "deviat": [22, 33, 34, 51], "ci": [22, 49, 51], "prolin": [22, 33, 49], "smaller": [22, 26, 28, 32, 35, 41], "setbackrub": 22, "primary_rot_angl": 22, "flanking_rot_angle_on": 22, "flanking_rot_angle_two": 22, "backrub": [22, 38], "motion": [22, 38], "davis2006": [22, 38], "restor": [22, 31, 34, 40], "network": [22, 44], "compensatori": 22, "central": [22, 27, 41], "scale": 22, "ones": [22, 28, 31, 34, 50, 51], "mincadist": 22, "superposed_rmsd": [22, 31], "carmsd": [22, 23, 26], "frag_po": [23, 26, 28], "frag_length": [23, 26, 28], "frag_seq": [23, 26], "frag_residu": [23, 26], "ref_backbon": [23, 26], "frag_db": [23, 26, 31, 37], "loadfragdb": [23, 24, 31, 35], "searchdb": [23, 26], "num": [23, 28, 31, 32, 36], "fragdb": [23, 24, 26, 31, 35, 37], "struct_db": 23, "loadstructuredb": [23, 24, 26, 31, 35], "getbackbonelist": [23, 26], "ca_rmsd": [23, 26], "3f": [23, 26], "simplic": [23, 26], "addseqsimparamet": [23, 26], "alg": [23, 26, 28, 35], "triplet": [23, 28, 34, 41], "psipredpredict": [23, 28, 35, 40], "allatomenv": [23, 32, 35, 36, 39], "allatomposit": [23, 25, 49, 50], "allatomenvposit": [23, 36], "forcefield": [23, 32, 35], "precomput": [23, 54], "loadtorsionsamplercoil": [23, 24, 31, 35], "loadtorsionsamplerhel": [23, 24], "loadtorsionsamplerextend": [23, 24], "solis2006": [24, 38], "train": [24, 31, 35], "coil": [24, 28], "db": [24, 26, 28, 31, 35], "roughli": 24, "21000": 24, "seqid": [24, 26, 28], "cutoff": [24, 25, 31, 32, 36, 39, 41], "60": 24, "capabl": [24, 30, 34], "bridg": [24, 25, 32, 35, 36], "creation": [25, 28, 32, 49], "creator": [25, 28, 32], "mmsystemcr": [25, 32], "forcefieldlookup": [25, 32, 35, 37], "ff_lookup": [25, 32, 35], "getdefault": [25, 32, 35], "mm_sy": [25, 32], "loop_start_indic": [25, 36], "loop_length": [25, 26, 31, 36], "is_n_ter": [25, 36], "is_c_ter": [25, 36], "disulfid_bridg": [25, 36], "getdisulfidbridg": 25, "setupsystem": 25, "sim": 25, "getsimul": 25, "getpotentialenergi": 25, "applysd": [25, 35], "01": [25, 32], "extractloopposit": 25, "mm_sys_output": 25, "better": [25, 31, 34, 35, 39, 41], "simpler": [25, 35], "sidechainreconstructor": [25, 30, 32, 35], "allatomrelax": [25, 32], "overhead": 25, "fix_surrounding_hydrogen": 25, "kill_electrostat": 25, "nonbonded_cutoff": [25, 32], "inaccurate_pot_energi": 25, "movabl": 25, "surround": [25, 26, 32, 36, 39, 41], "big": [25, 37], "bad": [25, 35], "inaccur": 25, "pot": 25, "cy": [25, 36, 49, 51], "sg": [25, 43, 44], "approxim": 25, "i_loop": [25, 36], "contigu": [25, 36, 37], "overlap": [25, 34, 35, 36], "previous": [25, 26, 31, 36, 40], "overwritten": 25, "undefin": 25, "incl": [25, 26, 35], "updateposit": [25, 32], "though": [25, 35, 37], "loop_po": 25, "out_po": 25, "getloopstartindic": 25, "getlooplength": 25, "getnumloopresidu": 25, "getforcefieldaminoacid": 25, "forcefieldaminoacid": 25, "themselv": 25, "vector": [25, 27, 28, 31, 37, 49], "getcpuplatformsupport": 25, "setcpuplatformsupport": 25, "cpu_platform_support": 25, "forc": [25, 32, 35], "ff": [25, 32], "variant": [25, 31], "mass": 25, "lj": 25, "forcefieldconnect": 25, "improp": 25, "loadcharmm": 25, "singleton": 25, "advantag": 25, "setdefault": 25, "new_default": 25, "loadport": [25, 26, 27, 37, 39, 41, 51], "saveport": [25, 26, 27, 37, 39, 41, 51], "machin": [25, 26, 27, 37, 39, 41, 51], "ff_aa": 25, "is_nter": 25, "is_cter": 25, "getheavyindex": 25, "getoxtindex": 25, "getfudgelj": 25, "dampen": 25, "topologi": [25, 32], "setfudgelj": 25, "getfudgeqq": 25, "electrostat": [25, 32], "setfudgeqq": 25, "getmass": 25, "setmass": 25, "getcharg": 25, "setcharg": 25, "getsigma": 25, "sigma": 25, "nm": [25, 32], "setsigma": 25, "getepsilon": 25, "kj": [25, 32], "setepsilon": 25, "getinternalconnect": 25, "getpeptideboundconnect": 25, "ff_aa_on": 25, "ff_aa_two": 25, "getdisulfidconnect": 25, "cystein": [25, 36, 44, 47, 49], "fudg": 25, "setinternalconnect": 25, "setpeptideboundconnect": 25, "setdisulfidconnect": 25, "ff_cys2": 25, "histidin": [25, 49], "ff_hisd": 25, "ff_hise": 25, "ff_xxx": 25, "unknown": 25, "ff_ala": 25, "ff_arg": 25, "ff_asn": 25, "ff_asp": 25, "ff_gln": 25, "ff_glu": 25, "ff_ly": 25, "ff_ser": 25, "ff_cy": 25, "ff_met": 25, "ff_trp": 25, "ff_tyr": 25, "ff_thr": 25, "ff_val": 25, "ff_ile": 25, "ff_leu": 25, "ff_gly": 25, "ff_pro": 25, "ff_phe": 25, "n1": 25, "n2": 25, "harmonic_bond": 25, "harmon": [25, 32], "forcefieldbondinfo": 25, "harmonic_angl": 25, "forcefieldharmonicangleinfo": 25, "urey_bradley_angl": 25, "urei": 25, "bradlei": 25, "forcefieldureybradleyangleinfo": 25, "periodic_dihedr": 25, "period": 25, "forcefieldperiodicdihedralinfo": 25, "periodic_improp": 25, "harmonic_improp": 25, "forcefieldharmonicimproperinfo": 25, "lj_pair": 25, "forcefieldljpairinfo": 25, "addharmonicbond": 25, "index_on": 25, "index_two": 25, "force_const": [25, 32], "addharmonicangl": 25, "index_thre": 25, "addureybradleyangl": 25, "angle_force_const": 25, "bond_force_const": 25, "addperiodicdihedr": 25, "addperiodicimprop": 25, "index_four": 25, "phase": 25, "addharmonicimprop": 25, "addljpair": 25, "accessor": 26, "solvent": 26, "squar": 26, "angstrom": [26, 32], "frequenc": [26, 34], "depth": [26, 38], "artifici": 26, "surfac": 26, "grid": 26, "flood": 26, "caviti": 26, "chakravarty1999": [26, 38], "zhou2005": [26, 38], "hen": 26, "egg": 26, "alloc": 26, "meaning": [26, 31], "coordinfo": 26, "chain_nam": [26, 35], "linear": [26, 28, 31, 34, 39, 40, 41], "layout": [26, 28, 37], "stuff": [26, 39], "fragmentinfo": [26, 31], "chain_index": [26, 34, 39], "thats": [26, 41], "demonstr": 26, "structure_db_on": 26, "structuredbdatatyp": 26, "bitwis": 26, "structure_db_two": 26, "residuedepth": 26, "li": 26, "structure_dir": 26, "prof_dir": 26, "1crna": [26, 31], "possibli": [26, 32], "wherea": 26, "structure_id": 26, "1aki": 26, "s_id": 26, "ch_name": 26, "zip": [26, 47], "structure_path": 26, "prof_path": 26, "And": 26, "createsequ": [26, 31, 35], "addcoordin": 26, "printstatist": 26, "yet": [26, 31, 35], "accordingli": [26, 40], "getnumcoord": 26, "res_depth": 26, "getresiduedepth": 26, "generatestructureprofil": 26, "structure_db": [26, 28, 31, 35, 37], "setstructureprofil": 26, "sidenot": [26, 36], "intent": 26, "my_db_on": 26, "dat": [26, 28, 37], "my_db_two": 26, "expens": 26, "heavili": [26, 47], "5000": [26, 35], "10000": [26, 34], "nonredund": 26, "profiledb": 26, "parallel": 26, "enum": [26, 49], "bare": 26, "datatyp": 26, "aafrequenciesstruct": 26, "solventaccess": 26, "aafrequ": 26, "data_to_stor": 26, "hasdata": 26, "data_typ": 26, "request": [26, 28, 48, 51], "only_longest_stretch": 26, "thrown": 26, "renumb": [26, 35], "consecut": [26, 27, 35, 41], "descriptor": [26, 28], "catch": 26, "lossi": 26, "extent": 26, "y": [26, 33, 38], "z": 26, "655a": 26, "suffici": 26, "exceed": [26, 29], "discard": 26, "restraint": [26, 32], "entityview": [26, 27, 28, 33, 35], "longest": 26, "removecoordin": 26, "coord_idx": 26, "coord": [26, 31], "getcoordidx": 26, "getcoordinfo": 26, "terminu": [26, 34, 35], "proteinogen": 26, "getdsspstat": 26, "getdihedralangl": 26, "getsolventaccessibilitit": 26, "getsequenceprofil": 26, "null": 26, "getstructureprofil": 26, "residue_depth": 26, "structureprofil": 26, "getsubdb": 26, "info": [26, 28, 31, 35, 40], "homologu": 26, "tabl": 26, "ultra": 26, "illustr": 26, "port_str_db": 26, "belov": 26, "crambin": [26, 31, 34], "sub_res_list": 26, "fulfil": [26, 51], "queri": [26, 28, 51], "fragment_info": 26, "f_i": 26, "dist_bin_s": 26, "angle_bin_s": 26, "getangularbins": 26, "getdistbins": 26, "fragment_length": [26, 28], "rmsd_cutoff": [26, 31, 32], "upon": [26, 32, 34], "databs": 26, "notabl": 26, "getnumstempair": 26, "getnumfrag": 26, "hasfraglength": 26, "maxfraglength": 26, "frag_siz": 26, "extra_bin": 26, "odd": 26, "symmetr": [26, 40, 51], "conform": [26, 32, 34, 38, 46, 51], "guarante": [26, 28, 31, 34, 36, 37], "divers": [26, 28], "wrap": 26, "fletch": [26, 47], "scratch": [26, 34], "fraction": [26, 28, 32, 34], "seqsim": 26, "avg": 26, "substitut": 26, "ssagre": 26, "jones1999": [26, 38], "kabsch1983": [26, 38], "probabilist": [26, 50], "hhsearch": 26, "soding2005": [26, 38], "torsionprob": 26, "sequenceprofil": 26, "gapfre": 26, "l1": 26, "column": [26, 28, 35], "subst_matrix": 26, "below_thre": 26, "3a": 26, "2f": 26, "fragger_map": 26, "fraggermap": [26, 28], "savebb": 26, "frag_map": 26, "rmsd_thresh": [26, 28], "num_frag": [26, 35], "addseqidparamet": 26, "w": [26, 29, 33, 35, 38, 49], "subst": 26, "substweightmatrix": 26, "addssagreeparamet": 26, "psipred_predict": [26, 28, 35], "target_sequ": 26, "addtorsionprobabilityparamet": 26, "aa_befor": 26, "aa_aft": 26, "torsion_sampler_list": 26, "addsequenceprofileparamet": 26, "addstructureprofileparamet": 26, "__getitem__": [26, 39, 41, 45, 49], "getfragmentinfo": [26, 31], "getscor": [26, 34], "parameter_index": 26, "storabl": 26, "__setitem__": [26, 39, 41], "serial": [26, 37], "temporari": [26, 35], "reread": 26, "loadbb": 26, "iff": [26, 29, 33], "confid": [26, 41], "fromhhm": 26, "fromhoriz": 26, "horiz": 26, "getpredict": 26, "getconfid": 26, "drawn": [27, 34], "randomli": [27, 34], "scatter": 27, "plot": 27, "matplotlib": 27, "numpi": [27, 34], "agg": 27, "pyplot": 27, "plt": 27, "np": [27, 28, 34], "t_sampler": 27, "dihedral_pair": 27, "xlim": 27, "ylim": 27, "xlabel": 27, "fontsiz": 27, "ylabel": 27, "png": 27, "savefig": 27, "torsion_plot": 27, "keyword": 27, "val": [27, 49], "il": [27, 49], "tripeptid": 27, "decis": 27, "group_definit": [27, 41], "bins_per_dimens": 27, "360": 27, "runtimeexcept": 27, "extractstatist": 27, "histogram": [27, 34], "updatedistribut": 27, "recalcul": 27, "gethistogramindic": 27, "drawphigivenpsi": 27, "drawpsigivenphi": 27, "getprob": [27, 49], "calul": 27, "getphiprobabilitygivenpsi": 27, "getpsiprobabilitygivenphi": 27, "getbinsperdimens": 27, "dimens": 27, "getbins": 27, "measur": 28, "dissimilar": 28, "domain": 28, "movement": 28, "undergo": [28, 32, 34, 36], "superpost": 28, "converg": [28, 31, 32, 34], "largest": [28, 31, 44], "subpart": 28, "determinist": 28, "rigidblock": 28, "slide": 28, "window": 28, "bb_list_on": 28, "bb_list_two": 28, "window_length": 28, "max_iter": [28, 31, 35], "distance_thresh": 28, "cluster_thresh": [28, 40], "seq_one_idx": 28, "seq_two_idx": 28, "alignmenthandl": [28, 35, 40], "seq_idx_on": 28, "seq_idx_two": 28, "pos_on": 28, "pos_two": 28, "vec3list": [28, 49], "facilit": 28, "psipred_pr": 28, "fragments_per_posit": 28, "torsion_sampler_coil": [28, 37], "torsion_sampler_helix": 28, "torsion_sampler_extend": [28, 37], "handler": 28, "accur": 28, "massiv": 28, "especi": 28, "weird": [28, 32, 47], "valueerror": [28, 35], "getlist": 28, "pos_start": 28, "pos_end": 28, "loadcach": 28, "savecach": 28, "generatedenovotrajectori": 28, "num_trajectori": 28, "200": [28, 35], "avg_sampling_per_posit": 28, "600": 28, "fragment_handl": 28, "scorer_env": [28, 31, 34], "scoring_weight": 28, "advanc": 28, "trajectori": [28, 34], "neglect": [28, 32, 45, 49, 50], "backboneoverallscor": [28, 31, 34, 35, 42], "cb_pack": [28, 35, 41], "hbond": [28, 35, 41, 49, 50], "cbeta": [28, 31, 34, 35, 41, 42], "scoringweight": [28, 31, 35], "getweight": [28, 31], "loopcandid": [28, 30, 33], "arrang": 28, "motiffind": 28, "nussinov": [28, 38], "wolfson": [28, 38], "nussinov1991": [28, 38], "learn": 28, "refin": 28, "p1": [28, 41], "p2": [28, 41], "p3": 28, "triangl": 28, "orthogon": [28, 33], "v1": [28, 41], "norm": [28, 41], "v3": 28, "v2": [28, 41], "discret": [28, 39, 41], "accumul": 28, "counter": [28, 34], "vertic": 28, "increment": 28, "hash_tresh": 28, "repeat": 28, "boundari": 28, "closest": [28, 35], "neighbour": [28, 35, 51], "64": 28, "refine_thresh": 28, "redo": 28, "equal": [28, 34, 39, 41, 44, 50], "doubl": 28, "atp": 28, "pocket": 28, "analog": 28, "1e2q": 28, "1ko5": 28, "2iyw": 28, "atp_list": 28, "query_list": 28, "peptide_sel": 28, "atp_sel": 28, "rname": 28, "atp_idx": 28, "atp_r": 28, "pocket_view": 28, "createemptyview": 28, "atp_at": 28, "close_at": 28, "getresidu": 28, "add_flag": 28, "include_atom": 28, "check_dupl": 28, "addresidu": 28, "ca_posit": [28, 44], "findatom": 28, "s_": 28, "motifqueri": 28, "atp_view": 28, "createentityfromview": [28, 36, 47], "full_queri": 28, "1ake": 28, "dump": [28, 51], "findmotif": 28, "m_idx": 28, "query_idx": 28, "editxc": 28, "mat": 28, "m_": 28, "min_triangle_edge_length": 28, "max_triangle_edge_length": 28, "bin_siz": [28, 51], "hell": 28, "upper": 28, "63": 28, "pluribu": 28, "unum": 28, "getposit": 28, "getidentifi": 28, "motifmatch": 28, "target_posit": 28, "swap_thresh": 28, "hash_thresh": 28, "equival": [28, 35, 39, 41], "challeng": 28, "preprocess": 28, "git_root": 28, "afdb_model": 28, "afdbtplsearch": 28, "afdbmodel": 28, "fs_server": 28, "trg_seq": 28, "pentamatch_n": 28, "seqid_thresh": 28, "70": [28, 40], "tpl_n": 28, "pentam": 28, "localalign": 28, "plddt": 28, "divid": 28, "getattachedview": 28, "getnam": [28, 47, 49], "uniprotac": 28, "transfer_bfactor": 28, "bfactor": 28, "remodel": [28, 31, 36], "min": [28, 31, 41], "n_stem_plddt": 28, "c_stem_plddt": 28, "linearli": [28, 49], "decreas": [28, 34], "slope": 28, "uniprot": 28, "ac": 28, "afdb_frag": 28, "afdb_vers": 28, "db_dir": 28, "filesystem": 28, "server": 28, "huge": 28, "blob": 28, "deleg": 28, "mmap": 28, "fromdatachunk": 28, "chunk": 28, "pattern": [28, 38], "fs_data_": 28, "ndarrai": 28, "dtype": 28, "int64": 28, "int32": 28, "int16": 28, "search_kei": 28, "n_entri": 28, "getidx": 28, "uniprot_ac": 28, "f1": 28, "retriev": 28, "getomfbyidx": 28, "split": [28, 42], "99": [28, 33], "999": 28, "getomfbyplc": 28, "plc": 28, "expert": 28, "getomf": 28, "chunk_dir": 28, "chunk_byt": 28, "pickl": 28, "meta": 28, "fromseqlist": 28, "2e6": 28, "underli": [28, 29, 31, 49], "topn": 28, "return_count": 28, "unique_pentam": 28, "shorter": [28, 35], "fasta_fil": 28, "entries_from_seqnam": 28, "cast": [28, 37], "chapter": [29, 33], "structuralgap": [29, 33], "getchainindex": 29, "getchainnam": 29, "getchain": 29, "isntermin": 29, "isctermin": 29, "istermin": 29, "shiftctermin": 29, "succeed": 29, "extendatnterm": 29, "extendatcterm": 29, "getlength": 29, "alia": 29, "full_seq": [29, 31], "structuralgaplist": [29, 35], "propos": [29, 31, 32, 34, 44], "gapextend": [29, 35], "cycl": 29, "ascend": 29, "fullgapextend": [29, 35], "max_length": 29, "encount": [29, 34], "scoringgapextend": [29, 35], "extension_penalti": 29, "penalti": [29, 35], "penal": [29, 35], "num_gap_extens": 29, "shiftextens": 29, "n_num": 29, "c_num": 29, "spit": [29, 34], "countenclosedgap": 29, "mhandl": [29, 30, 31, 35], "countenclosedinsert": 29, "cleargap": 29, "partial": 29, "insertloopcleargap": [29, 31, 35], "insertloop": [29, 35], "mergegap": 29, "1crn_cut": [30, 31, 35], "loadalign": [30, 35], "attachview": [30, 31, 35], "createfullview": [30, 31, 35], "final_model": [30, 35], "buildfromrawmodel": [30, 35], "fiddl": 30, "molprob": 30, "Into": [30, 54], "kic": [30, 31, 34], "relax": [30, 35], "sidechainreconstructiondata": [30, 32], "finder": 30, "among": 31, "loop_seq": 31, "31": 31, "30": [31, 35, 49], "loop_candid": 31, "fillfromdatabas": [31, 35], "cyclic": [31, 32, 38], "descent": [31, 32, 38], "applyccd": 31, "score_env": [31, 34, 42], "loadcbetascor": [31, 34, 41, 42], "clashscor": [31, 33, 34, 35, 42], "attachenviron": [31, 32, 34, 36, 39, 41, 42], "bb_score": 31, "scorecontain": 31, "calculatebackbonescor": 31, "pick": [31, 34], "linearcombin": 31, "min_scor": 31, "min_candid": 31, "getnumb": 31, "modified_crambin": 31, "structural_db": 31, "extended_search": [31, 35], "hasfragmentinfo": 31, "fillfrommontecarlosampl": [31, 35], "num_loop": 31, "random_se": 31, "initial_bb": 31, "alter": [31, 34], "mc": [31, 35], "reject": [31, 32, 34], "refresh": 31, "far": [31, 35], "keep_non_converg": 31, "criterium": 31, "applyk": 31, "pivot_on": [31, 32], "pivot_two": [31, 32], "pivot_thre": [31, 32], "analyt": [31, 51], "pivot": [31, 32, 34], "mathemat": [31, 32], "formal": [31, 32, 49, 51], "score_contain": 31, "calculateallatomscor": 31, "lower": [31, 34, 35, 39, 41], "setupdefaultbackbonescor": [31, 35], "setupdefaultallatomscor": [31, 35], "getbackbonescoringkei": 31, "getallatomscoringkei": 31, "isallatomscoringsetup": [31, 35], "calculatesequenceprofilescor": 31, "calculatestructureprofilescor": 31, "getaveragescor": 31, "null_model": 31, "higher": [31, 40, 41], "incompat": [31, 32], "calculatestemrmsd": 31, "addfragmentinfo": 31, "getclust": 31, "max_dist": [31, 40], "agglom": 31, "hierarch": [31, 40], "shortest": 31, "averag": [31, 40, 44], "getclusteredcandid": 31, "neglect_size_on": 31, "getlargestclust": 31, "centroid": 31, "isempti": 31, "getnumcandid": 31, "linear_weight": [31, 34, 39, 41], "with_db": 31, "with_aa": 31, "length_depend": 31, "lowest": [31, 33, 34, 49], "counterpart": [31, 41, 50], "setweight": 31, "overwrit": [31, 49], "getbackboneweight": 31, "calculatelinearcombin": [31, 34, 39, 41], "getallatomweight": 31, "allatomoverallscor": [31, 35, 42], "getstemrmsdskei": 31, "getsequenceprofilescoreskei": 31, "getstructureprofilescoreskei": 31, "setstemrmsdskei": 31, "setsequenceprofilescoreskei": 31, "setstructureprofilescoreskei": 31, "setbackbonescoringkei": 31, "setallatomscoringkei": 31, "seq_trg": [31, 35], "ttccpsivarsnfnvcrlpgtpeaicatytgciiipgatcpgdyan": [31, 35], "seq_tpl": [31, 35], "ttccpsivarsnfnvcrlpgtpea": [31, 35], "gciiipgatcpgdyan": [31, 35], "createalign": [31, 35], "getnum": 31, "start_idx": 31, "all_scor": 31, "orig_indic": [31, 33], "rank": 31, "arg_sorted_scor": 31, "best_candid": 31, "canutescu2003": [32, 38, 49], "kinemat": 32, "closur": [32, 35, 38], "coutsias2005": [32, 38], "backbonerelax": [32, 35], "guid": 32, "uniform": 32, "max_step": 32, "unfavour": [32, 34, 44], "analysi": [32, 33, 38], "n_ter": [32, 50], "c_ter": [32, 50], "fix_nterm": 32, "fix_cterm": 32, "stop_criterion": 32, "steepest": [32, 35], "nan": [32, 35, 51], "infinit": 32, "fall": 32, "infin": 32, "addnrestraint": 32, "addcarestraint": 32, "addcbrestraint": 32, "addcrestraint": 32, "addorestraint": 32, "setnonbondedcutoff": 32, "fastest": [32, 35], "closesmalldelet": [32, 35], "getnonbondedcutoff": 32, "allatom": [32, 35, 36], "reconstructor": [32, 35, 36], "sc_rec": [32, 36], "sc_result": 32, "pot_": 32, "300": 32, "env_po": [32, 36], "aa_relax_test": 32, "sc_data": 32, "mm_system_cr": 32, "getsystemcr": 32, "getr": 33, "center": [33, 49], "radii": [33, 43], "plane": 33, "getringpunch": 33, "hasringpunch": 33, "filtercandid": 33, "offend": 33, "old": [33, 35], "filtercandidateswithsc": 33, "getnonplanar": 33, "max_dist_thresh": 33, "e1": 33, "e2": 33, "e3": 33, "varianc": 33, "perspect": 33, "experiment": [33, 35], "065": 33, "075": 33, "trp": [33, 49, 51], "057": 33, "tyr": [33, 49, 51], "060": 33, "phe": [33, 49, 51], "residueview": [33, 35], "hasnonplanar": 33, "runmolprob": 33, "target_pdb": 33, "molprobity_bin": 33, "phenix": 33, "formula": 33, "rota_out": 33, "outlier": 33, "rama_iffi": 33, "ramachandran": 33, "favor": 33, "mpscore": 33, "426": 33, "math": 33, "molprobity_execut": 33, "1692": 33, "percentag": 33, "filenotfound": 33, "runmolprobityent": 33, "ost_ent": 33, "reportmolprobityscor": 33, "loginfo": 33, "arbitrarili": 34, "terminal_len": 34, "terminal_seqr": 34, "mc_sampler": 34, "softsampl": 34, "mc_closer": 34, "nterminalclos": 34, "mc_scorer": 34, "linearscor": 34, "mc_cooler": 34, "exponentialcool": 34, "shake": 34, "sampled_frag": 34, "lowest_energy_conform": 34, "delta_scor": 34, "NO": 34, "samplerbas": 34, "abstract": [34, 50], "proposestep": 34, "actual_posit": 34, "proposed_posit": 34, "maintin": 34, "phipsisampl": 34, "n_stem_phi": 34, "c_stem_psi": 34, "prev_aa": 34, "next_aa": 34, "max_dev": 34, "theoret": 34, "fragmentsampl": 34, "init_bb_list": 34, "sampling_start_index": 34, "init_frag": 34, "actual_step": 34, "closerbas": 34, "closed_posit": 34, "ccdcloser": 34, "dirtyccdclos": 34, "kicclos": 34, "cterminalclos": 34, "denovoclos": 34, "bore": 34, "ass": 34, "pseudo": [34, 35, 39, 41], "scorerbas": 34, "gettemperatur": [34, 49], "coolerbas": 34, "exponenti": 34, "removeterminalgap": 35, "mergegapsbydist": 35, "fillloopsbydatabas": 35, "fillloopsbymontecarlo": 35, "closelargedelet": 35, "closegap": 35, "minimizemodelenergi": 35, "tweak": 35, "merge_dist": 35, "fragment_db": 35, "checkfinalmodel": 35, "_": [35, 36], "incomplet": [35, 48], "setsequenceprofil": 35, "setpsipredpredict": [35, 40, 41], "backbone_scorer_env": 35, "backbone_scor": 35, "all_atom_scorer_env": 35, "all_atom_scor": 35, "all_atom_sidechain_env": 35, "sidechain_reconstructor": 35, "prior": 35, "setfraggerhandl": 35, "hasattr": 35, "modelling_issu": 35, "addmodellingissu": 35, "modellingissu": 35, "include_ligand": 35, "spdbv_style": 35, "aln_preprocess": 35, "deuterium": [35, 50], "reus": [35, 36], "selenium": 35, "methionin": [35, 49], "parent": 35, "phosphoserin": 35, "ok": [35, 37], "calpha": 35, "trace": 35, "honour": 35, "het": 35, "smtl": 35, "abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz": 35, "spdbv": 35, "style": [35, 40, 41, 49], "pullterminaldelet": 35, "setsequenceoffset": 35, "honor": 35, "use_amber_ff": 35, "extra_force_field": 35, "model_termini": 35, "enter": [35, 45], "loadamberforcefield": 35, "loadcharmmforcefield": 35, "reducedscor": [35, 37, 42], "hbondscor": [35, 37, 42], "torsionscor": [35, 37, 42], "isbackbonescoringsetup": 35, "aa_interact": [35, 39], "allatominteractionscor": [35, 37, 42], "aa_pack": [35, 39], "allatompackingscor": [35, 37, 42], "aa_clash": [35, 39], "allatomclashscor": [35, 42], "lack": 35, "reordergap": 35, "reorder": 35, "lexicograph": 35, "comparison": [35, 38, 51], "mergemhandl": 35, "source_mhandl": 35, "target_mhandl": 35, "source_chain_idx": 35, "target_chain_idx": 35, "end_resnum": 35, "shorten": 35, "Will": 35, "resnum_rang": 35, "length_dep_weight": 35, "resort": 35, "max_extens": 35, "clash_thresh": 35, "use_scoring_extend": 35, "use_full_extend": 35, "demand": 35, "sensibl": 35, "gly": [35, 36, 47, 49, 50], "gggg": 35, "ggggagggg": 35, "sheet": 35, "scondari": 35, "assignsecstruct": 35, "correctli": 35, "span": 35, "ttccpsivarsnfnvcrlpgtpeaicatgytciiipgatcpgdyan": 35, "ciiipgatcpgdyan": 35, "max_loops_to_search": 35, "40": 35, "min_loops_requir": 35, "max_res_extens": 35, "score_vari": 35, "ring_punch_detect": 35, "max_num_all_atom": 35, "long": 35, "deal": [35, 36], "cand": 35, "prefilt": 35, "numer": 35, "approx": 35, "2x": 35, "slight": 35, "mc_num_loop": 35, "linker_length": 35, "500": 35, "modeltermini": 35, "qualiti": 35, "aaaaggggggggggggggggggggaaaaaa": 35, "gggggggggggggggggggg": 35, "rotamerlib": [35, 36, 37, 48, 50, 51], "bbdeprotamerlib": [35, 36, 37, 48, 50, 51], "max_iter_sd": 35, "max_iter_lbfg": 35, "tolerance_sd": 35, "tolerance_lbfg": 35, "descend": 35, "broyden": 35, "fletcher": 35, "goldfarb": 35, "shanno": 35, "sd": 35, "lbfg": 35, "toler": 35, "applylbfg": 35, "samiti": 35, "couldn": 35, "unclos": 35, "stereo": 35, "stereo_chemical_problem_backbon": 35, "residue_list": 35, "chemistri": [35, 38], "is_major": 35, "deletegapcol": 35, "min_terminal_anchor_s": 35, "bcde": 35, "atomseq": 35, "abcdefghij": 35, "omit": 35, "abcd": 35, "cdef": 35, "abcdefghi": 35, "abcdef": 35, "sidechain_test_orig": 36, "sidechain_test_rec": 36, "start_resnum_list": 36, "num_residues_list": 36, "chain_idx_list": 36, "sc_rec_test": 36, "build_disulfid": 36, "rotamer_model": 36, "frm": 36, "consider_ligand": 36, "optimize_subrotam": [36, 44], "graph_max_complex": 36, "graph_initial_epsilon": 36, "particip": [36, 44], "rrm": 36, "postprocess": 36, "subrotameroptim": [36, 47, 52], "rotamergraph": [36, 46, 47, 52], "graph_intial_epsilon": 36, "scwrl3": [36, 42, 50], "remodel_cutoff": 36, "rigid_frame_cutoff": 36, "disulfid_score_thresh": 36, "preceed": 36, "visibl": 36, "20a": 36, "10a": 36, "30a": 36, "criteria": 36, "ridig": 36, "disulfidscor": [36, 44, 47], "use_frm": 36, "use_bbdep_lib": 36, "rot": 36, "rotamer_res_indic": 36, "address": 37, "sizeof": 37, "std": 37, "endian": 37, "slow": 37, "test_check_io": 37, "test_portable_binari": 37, "check_io": 37, "uint32_t": 37, "stream": 37, "fundament": 37, "int32_t": 37, "uint": 37, "furthermor": [37, 50], "mirror": 37, "sink": 37, "overload": 37, "ofstream": 37, "ifstream": 37, "portable_binary_seri": 37, "portablebinarydatasink": 37, "portablebinarydatasourc": 37, "serializ": 37, "typenam": 37, "void": 37, "inlin": 37, "int_32_t": 37, "convertbasetyp": 37, "nativ": 37, "t2": 37, "issourc": 37, "shared_ptr": 37, "hpp": 37, "iostream": 37, "fstream": 37, "sstream": 37, "somedata": 37, "cleanli": 37, "int16_t": 37, "myclass": 37, "typedef": 37, "myclassptr": 37, "const": 37, "id_": 37, "out_stream": 37, "c_str": 37, "stringstream": 37, "ss": 37, "writemagicnumb": 37, "writeversionnumb": 37, "writetypes": 37, "writebasetyp": 37, "str_len": 37, "reinterpret_cast": 37, "v_size": 37, "data_": 37, "in_stream": 37, "checkmagicnumb": 37, "getversionnumb": 37, "checktypes": 37, "checkbasetyp": 37, "tmp_buf": 37, "out_stream_": 37, "in_stream_": 37, "hello": 37, "torsion_sampler_hel": 37, "ff_lookup_charmm": 37, "cbeta_scor": [37, 42], "cb_packing_scor": 37, "hbond_scor": 37, "reduced_scor": 37, "ss_agreement_scor": 37, "ssagreementscor": [37, 42], "torsion_scor": 37, "aa_scor": 37, "aa_packing_scor": 37, "bb_dep_lib": 37, "_data": 37, "biasini": 38, "schmidt": 38, "bienert": 38, "mariani": 38, "studer": 38, "haa": 38, "johner": 38, "schenk": 38, "philippsen": 38, "2013": 38, "acta": 38, "cryst": 38, "canutescu": 38, "rl": 38, "jr": 38, "2003": 38, "robot": 38, "sci": 38, "canutescu2003b": [38, 39, 41, 43, 44], "shelenkov": 38, "rapid": 38, "coutsia": 38, "ea": 38, "seok": 38, "wester": 38, "mj": 38, "dill": 38, "ka": 38, "2005": 38, "journal": 38, "quantum": 38, "chakravarti": 38, "varadarajan": 38, "1999": 38, "stabil": 38, "davi": 38, "iw": 38, "arendal": 38, "wb": 38, "richardson": 38, "dc": 38, "2006": 38, "shrug": 38, "danc": 38, "rf": 38, "1994": 38, "spin": 38, "glass": 38, "biophi": 38, "jone": [38, 49], "dt": 38, "matric": 38, "biol": 38, "kabsch": 38, "sander": 38, "1983": 38, "recognit": 38, "biopolym": 38, "krivov": 38, "gg": 38, "shapovalov": 38, "mv": 38, "2009": 38, "leach": 38, "lemon": 38, "ap": 38, "1998": 38, "hj": 38, "1991": 38, "dimension": 38, "biolog": 38, "macromolecul": 38, "vision": 38, "pna": 38, "shapovalov2011": [38, 48], "2011": 38, "smooth": 38, "regress": 38, "s\u00f6ding": 38, "hmm": 38, "bioinformat": 38, "soli": 38, "rackovski": 38, "trott2010": [38, 49], "trott": 38, "olson": 38, "aj": 38, "autodock": [38, 49], "dock": 38, "multithread": 38, "chem": 38, "zhou": 38, "fold": 38, "evolut": 38, "loaddefaultallatomoverallscor": 39, "calculatescor": [39, 41, 42], "intercept": [39, 41], "calculatescoreprofil": [39, 41], "seq_sep": [39, 41], "loadallatominteractionscor": 39, "setenergi": [39, 41], "aaa1": 39, "aaa2": 39, "symmetri": [39, 41], "partner": [39, 40, 41], "dointernalscor": [39, 41], "do_it": [39, 41], "doexternalscor": [39, 41], "donorm": [39, 41], "max_count": [39, 41], "assess": [39, 40], "loadallatompackingscor": 39, "exce": [39, 41], "eq": [39, 41], "pred": 40, "addpairwisefunct": 40, "function_typ": 40, "applypairwisefunct": [40, 41], "pairwisefunct": [40, 41], "pairwisefunctiontyp": 40, "chain_idx_on": 40, "resnum_on": 40, "chain_idx_two": 40, "resnum_two": 40, "f_idx": 40, "start_rnum": 40, "filo": 40, "rnum": 40, "ca_pairwise_funct": 40, "cb_pairwise_funct": 40, "constraintfunct": 40, "min_dist": 40, "interpol": [40, 51], "ly": [40, 49], "contactfunct": 40, "contact": [40, 53], "discocontain": 40, "qmeandisco": 40, "addstructuralinfo": 40, "attachconstraint": 40, "chain_indic": 40, "gamma": [40, 41, 44], "normalis": 40, "metric": 40, "vanish": 40, "distant": 40, "loaddefaultbackboneoverallscor": 41, "ss_agreement": 41, "loadcbpackingscor": 41, "aa1": 41, "aa2": 41, "dist_bin": 41, "angle_bin": 41, "dihedral_bin": 41, "r1": [41, 51], "r2": [41, 51], "l": 41, "dist": 41, "loadreducedscor": 41, "alpha_bin": 41, "beta_bin": 41, "gamma_bin": 41, "min_d": 41, "max_d": 41, "min_alpha": 41, "max_alpha": 41, "min_beta": 41, "max_beta": 41, "min_gamma": 41, "max_gamma": 41, "d_bin": 41, "rosetta": 41, "acceptor": [41, 49, 50], "donor": [41, 49, 50], "loadhbondscor": 41, "loadssagreementscor": 41, "setscor": 41, "psipred_st": 41, "psipred_confid": 41, "dssp_state": 41, "torsion_bin": 41, "loadtorsionscor": 41, "group_idx": 41, "phi_bin": [41, 51], "psi_bin": [41, 51], "proce": 42, "ent_seq": 42, "sequencefromchain": 42, "findchain": 42, "clash_scor": 42, "evolv": 42, "allatomscor": 42, "scwrl3pairwisescor": 43, "rij": 43, "hard": [43, 49], "sphere": [43, 49], "paper": [43, 44, 47, 49], "sulfur": [43, 44, 49, 50], "scwrl3disulfidscor": [43, 44], "ca_pos_on": [43, 44], "cb_pos_on": [43, 44], "sg_pos_on": 43, "ca_pos_two": [43, 44], "cb_pos_two": [43, 44], "sg_pos_two": 43, "empir": [43, 44], "geoom": 43, "layer": 44, "assur": 44, "rotamer_on": 44, "rotamer_two": 44, "rrmrotam": [44, 49, 50], "frmrotam": [44, 49, 50, 52], "resolvecystein": [44, 47], "rotamer_group": [44, 46, 47], "cb_posit": 44, "score_threshold": 44, "frmrotamergroup": [44, 46, 49, 50], "rrmrotamergroup": [44, 46, 49, 50], "contrast": 45, "occupi": [45, 50], "frameresidu": [45, 49, 50], "residue_index": [45, 49, 50], "frame_residu": [45, 47], "createfromrrmlist": 46, "createfromfrmlist": [46, 47], "crash": 47, "rot_constructor": 47, "torsion_angl": 47, "rotamer_id": 47, "tlctorotid": [47, 49], "phi_handl": 47, "psi_handl": 47, "isvalid": 47, "getangl": 47, "constructbackboneframeresidu": [47, 50], "aa_with_rotam": 47, "rot_group": [47, 50], "constructfrmrotamergroup": [47, 50], "98": [47, 50], "setframeenergi": [47, 49], "super": 47, "unlik": 47, "applyselfenergythresh": [47, 49], "buildup": [47, 49], "sol": 47, "applyonresidu": [47, 49], "example_reconstruct": 47, "co": [47, 54], "rotamerid": [47, 50, 51], "smallest": 47, "baseclass": 47, "readdunbrackfil": [47, 48], "lab": 48, "licenc": 48, "classic": 48, "rotamer": [48, 51], "satisfi": 49, "arginin": 49, "asn": [49, 51], "asparagin": 49, "aspart": [49, 51], "gln": [49, 51], "glutamin": 49, "glutam": 49, "lysin": 49, "ser": 49, "serin": 49, "cyh": [49, 51], "cyd": [49, 51], "met": 49, "tryptophan": 49, "tyrosin": 49, "thr": 49, "threonin": 49, "valin": 49, "isoleucin": 49, "leu": 49, "leucin": 49, "cpr": [49, 51], "tpr": [49, 51], "hsd": [49, 51], "hse": [49, 51], "phenylalanin": 49, "recoginz": 49, "aatorotid": 49, "pscoringfunct": 49, "rotamergroup": 49, "other_particl": 49, "getcollisiondist": 49, "collis": 49, "getscoringfunct": 49, "lennard": 49, "scwrl4particletyp": 49, "differenti": 49, "hparticl": 49, "cparticl": 49, "ch1particl": 49, "ch2particl": 49, "ch3particl": 49, "nparticl": 49, "oparticl": 49, "ocparticl": 49, "carbonyl": [49, 50], "sparticl": 49, "createscwrl4particl": 49, "particle_typ": 49, "lone_pair": 49, "polar_direct": 49, "lone": 49, "og": 49, "polar": [49, 50], "hg": 49, "hg_po": 49, "og_po": 49, "repuls": 49, "createscwrl3particl": 49, "gaussian1": 49, "gaussian2": 49, "hydrophob": 49, "c_vinaparticl": [49, 50], "vinaparticletyp": [49, 50], "getvinaweightgaussian1": 49, "getvinaweightgaussian2": 49, "getvinaweightrepuls": 49, "getvinaweighthydrophob": 49, "getvinaweighthbond": 49, "setvinaweightgaussian1": 49, "setvinaweightgaussian2": 49, "setvinaweightrepuls": 49, "setvinaweighthydrophob": 49, "setvinaweighthbond": 49, "o_d_vinaparticl": 49, "n_d_vinaparticl": 49, "o_a_vinaparticl": [49, 50], "n_a_vinaparticl": 49, "o_ad_vinaparticl": 49, "n_ad_vinaparticl": 49, "o_vinaparticl": 49, "n_vinaparticl": 49, "s_vinaparticl": 49, "p_vinaparticl": 49, "phosphoru": 49, "c_p_vinaparticl": [49, 50], "coval": 49, "f_vinaparticl": 49, "fluorin": 49, "cl_vinaparticl": 49, "chlorin": 49, "br_vinaparticl": 49, "bromin": 49, "i_vinaparticl": 49, "iodin": 49, "m_vinaparticl": [49, 50], "metal": 49, "invalid_vinaparticl": 49, "createvinaparticl": 49, "internal_e_prefactor": 49, "max_prob": 49, "consider_hydrogen": 49, "new_res_nam": 49, "res_idx": [49, 50], "toframeresidu": 49, "getinternalenergyprefactor": 49, "prefactor": 49, "getinternalenergi": 49, "getframeenergi": 49, "getselfenergi": 49, "setinternalenergyprefactor": 49, "setinternalenergi": 49, "addframeenergi": 49, "setprob": 49, "getnumsubrotam": 49, "surotam": 49, "torrmrotam": 49, "frame_energi": 49, "internal_energi": 49, "getsubrotamerdefinit": 49, "addsubrotamerdefinit": 49, "setactivesubrotam": 49, "getactivesubrotam": 49, "settemperatur": 49, "l_e": 49, "constructrrmrotamergroup": 50, "rot_lib": 50, "probability_cutoff": 50, "aa_res_idx": 50, "rot_lib_entri": 50, "avaibl": 50, "rotamerlibentri": [50, 51], "circumv": 50, "cumul": 50, "constructsidechainframeresidu": 50, "assigninternalenergi": 50, "cb_in_sidechain": 50, "constructframeresidu": 50, "constructframeresidueheurist": 50, "comp_lib": 50, "treatment": 50, "uncharg": 50, "sidechainparticl": 50, "internal_e_prefac": 50, "max_p": 50, "scwrl3rotamerconstructor": 50, "vinarotamerconstructor": 50, "is_hbond_acceptor": 50, "is_hbond_donor": 50, "atomhandl": 50, "setboolprop": 50, "horribl": 50, "surprisingli": 50, "mg": 50, "mn": 50, "zn": 50, "fe": 50, "cl": 50, "br": 50, "constructrrmrotamerheurist": 50, "constructfrmrotamerheurist": 50, "steric": 51, "equidist": 51, "dynam": 51, "addrotam": 51, "querylib": 51, "strategi": 51, "fallback": 51, "nonzero": 51, "makestat": 51, "r3": 51, "r4": 51, "chi1": 51, "chi2": 51, "chi3": 51, "chi4": 51, "round": 51, "chi": 51, "bilinearli": 51, "interpl": 51, "setinterpol": 51, "sig1": 51, "sig2": 51, "sig3": 51, "sig4": 51, "fromresidu": 51, "issimilar": 51, "ambig": 51, "flip": 51, "similardihedr": 51, "dihedral_idx": 51, "sp3": 51, "hybrid": 51, "gauch": 51, "dihedralconfigur": 51, "120": 51, "gauche_plu": 51, "gauche_minu": 51, "gauc": 51, "non_rotamer": 51, "doesnt": 51, "getrotamericconfigur": 51, "getdihedralconfigur": 51, "knowledg": 51, "Thats": 52, "finish": 52, "active_internal_energi": 52, "inactive_internal_energi": 52, "inact": 52, "believ": 53, "worth": 53}, "objects": {"": [[4, 0, 1, "", "command:add_doc_dependency"], [4, 0, 1, "", "command:add_doc_source"], [4, 0, 1, "", "command:convert_module_data"], [4, 0, 1, "", "command:module"], [4, 0, 1, "", "command:pm_action"], [4, 0, 1, "", "command:promod3_unittest"], [4, 0, 1, "", "command:pymod"], [1, 2, 0, "-", "test_actions"], [0, 7, 1, "cmdoption-i", "--backbone-independent"], [0, 7, 1, "cmdoption-f", "--energy_function"], [0, 7, 1, "cmdoption-k", "--keep-sidechains"], [0, 7, 1, "cmdoption-n", "--no-disulfids"], [0, 7, 1, "cmdoption-s", "--no-subrotamer-optimization"], [0, 7, 1, "cmdoption-r", "--rigid-rotamers"], [0, 7, 1, "cmdoption-f", "-f"], [0, 7, 1, "cmdoption-i", "-i"], [0, 7, 1, "cmdoption-k", "-k"], [0, 7, 1, "cmdoption-n", "-n"], [0, 7, 1, "cmdoption-r", "-r"], [0, 7, 1, "cmdoption-s", "-s"]], "promod3": [[15, 1, 1, "", "SetCompoundsChemlib"], [12, 2, 0, "-", "core"], [23, 2, 0, "-", "loop"], [30, 2, 0, "-", "modelling"], [42, 2, 0, "-", "scoring"], [47, 2, 0, "-", "sidechain"]], "promod3.core": [[9, 1, 1, "", "ConstructAtomPos"], [9, 1, 1, "", "ConstructCBetaPos"], [9, 1, 1, "", "ConstructCTerminalOxygens"], [9, 1, 1, "", "EvaluateGromacsPosRule"], [10, 3, 1, "", "GraphMinimizer"], [9, 1, 1, "id0", "RotationAroundLine"], [14, 3, 1, "", "StaticRuntimeProfiler"], [9, 3, 1, "", "StemCoords"], [9, 3, 1, "", "StemPairOrientation"], [11, 2, 0, "-", "helper"], [13, 2, 0, "-", "pm3argparse"]], "promod3.core.GraphMinimizer": [[10, 4, 1, "", "AStarSolve"], [10, 4, 1, "", "AddEdge"], [10, 4, 1, "", "AddNode"], [10, 4, 1, "", "ApplyDEE"], [10, 4, 1, "", "ApplyEdgeDecomposition"], [10, 4, 1, "", "MCSolve"], [10, 4, 1, "", "NaiveSolve"], [10, 4, 1, "", "Prune"], [10, 4, 1, "", "Reset"], [10, 4, 1, "", "TreeSolve"]], "promod3.core.StaticRuntimeProfiler": [[14, 4, 1, "", "Clear"], [14, 4, 1, "", "IsEnabled"], [14, 4, 1, "", "PrintSummary"], [14, 4, 1, "", "Start"], [14, 4, 1, "", "StartScoped"], [14, 4, 1, "", "Stop"]], "promod3.core.StemCoords": [[9, 5, 1, "", "c_coord"], [9, 5, 1, "", "ca_coord"], [9, 5, 1, "", "n_coord"]], "promod3.core.StemPairOrientation": [[9, 5, 1, "", "angle_four"], [9, 5, 1, "", "angle_one"], [9, 5, 1, "", "angle_three"], [9, 5, 1, "", "angle_two"], [9, 5, 1, "", "distance"]], "promod3.core.helper": [[11, 1, 1, "", "FileExists"], [11, 1, 1, "", "FileExtension"], [11, 1, 1, "", "FileGzip"], [11, 1, 1, "", "MsgErrorAndExit"]], "promod3.core.pm3argparse": [[13, 3, 1, "", "PM3ArgumentParser"]], "promod3.core.pm3argparse.PM3ArgumentParser": [[13, 4, 1, "", "AddAlignment"], [13, 4, 1, "", "AddFragments"], [13, 4, 1, "", "AddProfile"], [13, 4, 1, "", "AddStructure"], [13, 4, 1, "", "AssembleParser"], [13, 4, 1, "", "Parse"], [13, 4, 1, "", "__init__"], [13, 5, 1, "", "action"]], "promod3.loop": [[21, 3, 1, "", "AllAtomEnv"], [21, 3, 1, "", "AllAtomEnvPositions"], [21, 3, 1, "", "AllAtomPositions"], [21, 3, 1, "", "AminoAcidAtom"], [21, 3, 1, "", "AminoAcidHydrogen"], [21, 3, 1, "", "AminoAcidLookup"], [22, 3, 1, "", "BackboneList"], [26, 3, 1, "", "CoordInfo"], [25, 3, 1, "", "ForcefieldAminoAcid"], [25, 3, 1, "", "ForcefieldBondInfo"], [25, 3, 1, "", "ForcefieldConnectivity"], [25, 3, 1, "", "ForcefieldHarmonicAngleInfo"], [25, 3, 1, "", "ForcefieldHarmonicImproperInfo"], [25, 3, 1, "", "ForcefieldLJPairInfo"], [25, 3, 1, "", "ForcefieldLookup"], [25, 3, 1, "", "ForcefieldPeriodicDihedralInfo"], [25, 3, 1, "", "ForcefieldUreyBradleyAngleInfo"], [26, 3, 1, "", "FragDB"], [26, 3, 1, "", "Fragger"], [26, 3, 1, "", "FraggerMap"], [26, 3, 1, "", "FragmentInfo"], [24, 4, 1, "", "LoadFragDB"], [24, 4, 1, "", "LoadStructureDB"], [24, 4, 1, "", "LoadTorsionSampler"], [24, 4, 1, "", "LoadTorsionSamplerCoil"], [24, 4, 1, "", "LoadTorsionSamplerExtended"], [24, 4, 1, "", "LoadTorsionSamplerHelical"], [25, 3, 1, "", "MmSystemCreator"], [26, 3, 1, "", "PsipredPrediction"], [26, 3, 1, "", "StructureDB"], [26, 3, 1, "", "StructureDBDataType"], [27, 3, 1, "", "TorsionSampler"]], "promod3.loop.AllAtomEnv": [[21, 4, 1, "", "ClearEnvironment"], [21, 4, 1, "", "GetAllAtomPositions"], [21, 4, 1, "", "GetEnvironment"], [21, 4, 1, "", "GetSeqres"], [21, 4, 1, "", "SetEnvironment"], [21, 4, 1, "", "SetInitialEnvironment"]], "promod3.loop.AllAtomEnvPositions": [[21, 5, 1, "", "all_pos"], [21, 5, 1, "", "res_indices"]], "promod3.loop.AllAtomPositions": [[21, 4, 1, "id2", "AllAtomPositions"], [21, 4, 1, "", "ClearPos"], [21, 4, 1, "", "ClearResidue"], [21, 4, 1, "", "Copy"], [21, 4, 1, "id4", "Extract"], [21, 4, 1, "", "ExtractBackbone"], [21, 4, 1, "", "GetAA"], [21, 4, 1, "", "GetFirstIndex"], [21, 4, 1, "", "GetIndex"], [21, 4, 1, "", "GetLastIndex"], [21, 4, 1, "", "GetNumAtoms"], [21, 4, 1, "", "GetNumResidues"], [21, 4, 1, "", "GetOmegaTorsion"], [21, 4, 1, "", "GetPhiTorsion"], [21, 4, 1, "", "GetPos"], [21, 4, 1, "", "GetPsiTorsion"], [21, 4, 1, "", "GetSequence"], [21, 4, 1, "", "InsertInto"], [21, 4, 1, "", "IsAllSet"], [21, 4, 1, "", "IsAnySet"], [21, 4, 1, "", "IsSet"], [21, 4, 1, "", "SetPos"], [21, 4, 1, "id3", "SetResidue"], [21, 4, 1, "", "ToEntity"]], "promod3.loop.AminoAcidLookup": [[21, 4, 1, "", "GetAA"], [21, 4, 1, "", "GetAAA"], [21, 4, 1, "", "GetAAH"], [21, 4, 1, "", "GetAnchorAtomIndex"], [21, 4, 1, "", "GetAtomName"], [21, 4, 1, "", "GetAtomNameAmber"], [21, 4, 1, "", "GetAtomNameCharmm"], [21, 4, 1, "", "GetElement"], [21, 4, 1, "", "GetH1Index"], [21, 4, 1, "", "GetH2Index"], [21, 4, 1, "", "GetH3Index"], [21, 4, 1, "", "GetHNIndex"], [21, 4, 1, "", "GetHydrogenIndex"], [21, 4, 1, "", "GetIndex"], [21, 4, 1, "", "GetMaxNumAtoms"], [21, 4, 1, "", "GetMaxNumHydrogens"], [21, 4, 1, "", "GetNumAtoms"], [21, 4, 1, "", "GetNumHydrogens"], [21, 4, 1, "", "GetOLC"]], "promod3.loop.BackboneList": [[22, 4, 1, "id6", "ApplyTransform"], [22, 4, 1, "id3", "BackboneList"], [22, 4, 1, "", "CARMSD"], [22, 4, 1, "", "Copy"], [22, 4, 1, "", "Extract"], [22, 4, 1, "", "GetAA"], [22, 4, 1, "", "GetBounds"], [22, 4, 1, "", "GetC"], [22, 4, 1, "", "GetCA"], [22, 4, 1, "", "GetCB"], [22, 4, 1, "", "GetN"], [22, 4, 1, "", "GetO"], [22, 4, 1, "", "GetOLC"], [22, 4, 1, "", "GetOmegaTorsion"], [22, 4, 1, "", "GetPhiTorsion"], [22, 4, 1, "", "GetPsiTorsion"], [22, 4, 1, "", "GetSequence"], [22, 4, 1, "id7", "GetTransform"], [22, 4, 1, "id4", "InsertInto"], [22, 4, 1, "", "MinCADistance"], [22, 4, 1, "", "RMSD"], [22, 4, 1, "", "ReconstructCBetaPositions"], [22, 4, 1, "", "ReconstructCStemOxygen"], [22, 4, 1, "", "ReconstructOxygenPositions"], [22, 4, 1, "", "ReplaceFragment"], [22, 4, 1, "", "RotateAroundOmegaTorsion"], [22, 4, 1, "", "RotateAroundPhiPsiTorsion"], [22, 4, 1, "", "RotateAroundPhiTorsion"], [22, 4, 1, "", "RotateAroundPsiTorsion"], [22, 4, 1, "", "Set"], [22, 4, 1, "", "SetAA"], [22, 4, 1, "", "SetAroundOmegaTorsion"], [22, 4, 1, "", "SetAroundPhiPsiTorsion"], [22, 4, 1, "", "SetAroundPhiTorsion"], [22, 4, 1, "", "SetAroundPsiTorsion"], [22, 4, 1, "id9", "SetBackrub"], [22, 4, 1, "", "SetC"], [22, 4, 1, "", "SetCA"], [22, 4, 1, "", "SetCB"], [22, 4, 1, "", "SetN"], [22, 4, 1, "", "SetO"], [22, 4, 1, "", "SetOLC"], [22, 4, 1, "", "SetSequence"], [22, 4, 1, "", "SuperposeOnto"], [22, 4, 1, "", "ToDensity"], [22, 4, 1, "", "ToEntity"], [22, 4, 1, "", "TransOmegaTorsions"], [22, 4, 1, "", "__len__"], [22, 4, 1, "", "append"], [22, 4, 1, "", "clear"], [22, 4, 1, "", "empty"], [22, 4, 1, "", "resize"]], "promod3.loop.CoordInfo": [[26, 5, 1, "", "chain_name"], [26, 5, 1, "", "id"], [26, 5, 1, "", "offset"], [26, 5, 1, "", "shift"], [26, 5, 1, "", "size"], [26, 5, 1, "", "start_resnum"]], "promod3.loop.ForcefieldBondInfo": [[25, 5, 1, "", "bond_length"], [25, 5, 1, "", "force_constant"], [25, 5, 1, "", "index_one"], [25, 5, 1, "", "index_two"]], "promod3.loop.ForcefieldConnectivity": [[25, 5, 1, "", "harmonic_angles"], [25, 5, 1, "", "harmonic_bonds"], [25, 5, 1, "", "harmonic_impropers"], [25, 5, 1, "", "lj_pairs"], [25, 5, 1, "", "periodic_dihedrals"], [25, 5, 1, "", "periodic_impropers"], [25, 5, 1, "", "urey_bradley_angles"]], "promod3.loop.ForcefieldHarmonicAngleInfo": [[25, 5, 1, "", "angle"], [25, 5, 1, "", "force_constant"], [25, 5, 1, "", "index_one"], [25, 5, 1, "", "index_three"], [25, 5, 1, "", "index_two"]], "promod3.loop.ForcefieldHarmonicImproperInfo": [[25, 5, 1, "", "angle"], [25, 5, 1, "", "force_constant"], [25, 5, 1, "", "index_four"], [25, 5, 1, "", "index_one"], [25, 5, 1, "", "index_three"], [25, 5, 1, "", "index_two"]], "promod3.loop.ForcefieldLJPairInfo": [[25, 5, 1, "", "epsilon"], [25, 5, 1, "", "index_one"], [25, 5, 1, "", "index_two"], [25, 5, 1, "", "sigma"]], "promod3.loop.ForcefieldLookup": [[25, 4, 1, "", "GetAA"], [25, 4, 1, "", "GetCharges"], [25, 4, 1, "", "GetDefault"], [25, 4, 1, "", "GetDisulfidConnectivity"], [25, 4, 1, "", "GetEpsilons"], [25, 4, 1, "", "GetFudgeLJ"], [25, 4, 1, "", "GetFudgeQQ"], [25, 4, 1, "", "GetHeavyIndex"], [25, 4, 1, "", "GetHydrogenIndex"], [25, 4, 1, "", "GetInternalConnectivity"], [25, 4, 1, "", "GetMasses"], [25, 4, 1, "", "GetNumAtoms"], [25, 4, 1, "", "GetOXTIndex"], [25, 4, 1, "", "GetPeptideBoundConnectivity"], [25, 4, 1, "", "GetSigmas"], [25, 4, 1, "", "Load"], [25, 4, 1, "", "LoadCHARMM"], [25, 4, 1, "", "LoadPortable"], [25, 4, 1, "", "Save"], [25, 4, 1, "", "SavePortable"], [25, 4, 1, "", "SetCharges"], [25, 4, 1, "", "SetDefault"], [25, 4, 1, "", "SetDisulfidConnectivity"], [25, 4, 1, "", "SetEpsilons"], [25, 4, 1, "", "SetFudgeLJ"], [25, 4, 1, "", "SetFudgeQQ"], [25, 4, 1, "", "SetInternalConnectivity"], [25, 4, 1, "", "SetMasses"], [25, 4, 1, "", "SetPeptideBoundConnectivity"], [25, 4, 1, "", "SetSigmas"]], "promod3.loop.ForcefieldPeriodicDihedralInfo": [[25, 5, 1, "", "force_constant"], [25, 5, 1, "", "index_four"], [25, 5, 1, "", "index_one"], [25, 5, 1, "", "index_three"], [25, 5, 1, "", "index_two"], [25, 5, 1, "", "multiplicity"], [25, 5, 1, "", "phase"]], "promod3.loop.ForcefieldUreyBradleyAngleInfo": [[25, 5, 1, "", "angle"], [25, 5, 1, "", "angle_force_constant"], [25, 5, 1, "", "bond_force_constant"], [25, 5, 1, "", "bond_length"], [25, 5, 1, "", "index_one"], [25, 5, 1, "", "index_three"], [25, 5, 1, "", "index_two"]], "promod3.loop.FragDB": [[26, 4, 1, "", "AddFragments"], [26, 4, 1, "", "GetAngularBinSize"], [26, 4, 1, "", "GetDistBinSize"], [26, 4, 1, "", "GetNumFragments"], [26, 4, 1, "", "GetNumStemPairs"], [26, 4, 1, "", "HasFragLength"], [26, 4, 1, "", "Load"], [26, 4, 1, "", "LoadPortable"], [26, 4, 1, "", "MaxFragLength"], [26, 4, 1, "", "PrintStatistics"], [26, 4, 1, "", "Save"], [26, 4, 1, "", "SavePortable"], [26, 4, 1, "", "SearchDB"]], "promod3.loop.Fragger": [[26, 4, 1, "", "AddSSAgreeParameters"], [26, 4, 1, "", "AddSeqIDParameters"], [26, 4, 1, "", "AddSeqSimParameters"], [26, 4, 1, "", "AddSequenceProfileParameters"], [26, 4, 1, "", "AddStructureProfileParameters"], [26, 4, 1, "", "AddTorsionProbabilityParameters"], [26, 4, 1, "", "Fill"], [26, 4, 1, "", "GetFragmentInfo"], [26, 4, 1, "id0", "GetScore"], [26, 4, 1, "", "__getitem__"], [26, 4, 1, "", "__len__"]], "promod3.loop.FraggerMap": [[26, 4, 1, "", "Contains"], [26, 4, 1, "", "Load"], [26, 4, 1, "", "LoadBB"], [26, 4, 1, "", "Save"], [26, 4, 1, "", "SaveBB"], [26, 4, 1, "", "__getitem__"], [26, 4, 1, "", "__setitem__"]], "promod3.loop.FragmentInfo": [[26, 5, 1, "", "chain_index"], [26, 5, 1, "", "length"], [26, 5, 1, "", "offset"]], "promod3.loop.MmSystemCreator": [[25, 4, 1, "", "ExtractLoopPositions"], [25, 4, 1, "", "GetCpuPlatformSupport"], [25, 4, 1, "", "GetDisulfidBridges"], [25, 4, 1, "", "GetForcefieldAminoAcids"], [25, 4, 1, "", "GetIndexing"], [25, 4, 1, "", "GetLoopLengths"], [25, 4, 1, "", "GetLoopStartIndices"], [25, 4, 1, "", "GetNumLoopResidues"], [25, 4, 1, "", "GetNumResidues"], [25, 4, 1, "", "GetSimulation"], [25, 4, 1, "", "SetCpuPlatformSupport"], [25, 4, 1, "", "SetupSystem"], [25, 4, 1, "", "UpdatePositions"]], "promod3.loop.PsipredPrediction": [[26, 4, 1, "", "Add"], [26, 4, 1, "", "Extract"], [26, 4, 1, "", "FromHHM"], [26, 4, 1, "", "FromHoriz"], [26, 4, 1, "", "GetConfidence"], [26, 4, 1, "", "GetConfidences"], [26, 4, 1, "", "GetPrediction"], [26, 4, 1, "", "GetPredictions"], [26, 4, 1, "id7", "PsipredPrediction"], [26, 4, 1, "", "__len__"]], "promod3.loop.StructureDB": [[26, 4, 1, "", "AddCoordinates"], [26, 4, 1, "", "GenerateStructureProfile"], [26, 4, 1, "", "GetBackboneList"], [26, 4, 1, "", "GetCoordIdx"], [26, 4, 1, "", "GetCoordInfo"], [26, 4, 1, "", "GetDSSPStates"], [26, 4, 1, "", "GetDihedralAngles"], [26, 4, 1, "", "GetNumCoords"], [26, 4, 1, "", "GetResidueDepths"], [26, 4, 1, "", "GetSequence"], [26, 4, 1, "", "GetSequenceProfile"], [26, 4, 1, "", "GetSolventAccessibilitites"], [26, 4, 1, "", "GetStructureProfile"], [26, 4, 1, "", "GetSubDB"], [26, 4, 1, "", "HasData"], [26, 4, 1, "", "Load"], [26, 4, 1, "", "LoadPortable"], [26, 4, 1, "", "PrintStatistics"], [26, 4, 1, "", "RemoveCoordinates"], [26, 4, 1, "", "Save"], [26, 4, 1, "", "SavePortable"], [26, 4, 1, "", "SetStructureProfile"]], "promod3.loop.TorsionSampler": [[27, 4, 1, "id0", "Draw"], [27, 4, 1, "id1", "DrawPhiGivenPsi"], [27, 4, 1, "id2", "DrawPsiGivenPhi"], [27, 4, 1, "", "ExtractStatistics"], [27, 4, 1, "", "GetBinSize"], [27, 4, 1, "", "GetBinsPerDimension"], [27, 4, 1, "", "GetHistogramIndex"], [27, 4, 1, "", "GetHistogramIndices"], [27, 4, 1, "id4", "GetPhiProbabilityGivenPsi"], [27, 4, 1, "id3", "GetProbability"], [27, 4, 1, "id5", "GetPsiProbabilityGivenPhi"], [27, 4, 1, "", "Load"], [27, 4, 1, "", "LoadPortable"], [27, 4, 1, "", "Save"], [27, 4, 1, "", "SavePortable"], [27, 4, 1, "", "UpdateDistributions"]], "promod3.modelling": [[28, 1, 1, "", "AFDBModel"], [28, 1, 1, "", "AFDBTPLSearch"], [35, 1, 1, "", "AddModellingIssue"], [32, 3, 1, "", "AllAtomRelaxer"], [32, 3, 1, "id3", "BackboneRelaxer"], [35, 1, 1, "", "BuildFromRawModel"], [35, 1, 1, "", "BuildRawModel"], [35, 1, 1, "", "BuildSidechains"], [32, 3, 1, "", "CCD"], [34, 3, 1, "", "CCDCloser"], [34, 3, 1, "", "CTerminalCloser"], [35, 1, 1, "", "CheckFinalModel"], [29, 1, 1, "", "ClearGaps"], [35, 1, 1, "", "CloseGaps"], [35, 1, 1, "", "CloseLargeDeletions"], [35, 1, 1, "", "CloseSmallDeletions"], [34, 3, 1, "", "CloserBase"], [34, 3, 1, "", "CoolerBase"], [29, 1, 1, "", "CountEnclosedGaps"], [29, 1, 1, "", "CountEnclosedInsertions"], [34, 3, 1, "", "DeNovoCloser"], [35, 1, 1, "", "DeleteGapCols"], [34, 3, 1, "", "DirtyCCDCloser"], [34, 3, 1, "", "ExponentialCooler"], [28, 3, 1, "", "FSStructureServer"], [35, 1, 1, "", "FillLoopsByDatabase"], [35, 1, 1, "", "FillLoopsByMonteCarlo"], [33, 1, 1, "", "FilterCandidates"], [33, 1, 1, "", "FilterCandidatesWithSC"], [28, 4, 1, "", "FindMotifs"], [28, 3, 1, "", "FraggerHandle"], [34, 3, 1, "", "FragmentSampler"], [29, 3, 1, "", "FullGapExtender"], [29, 3, 1, "", "GapExtender"], [28, 1, 1, "", "GenerateDeNovoTrajectories"], [33, 1, 1, "", "GetNonPlanarRings"], [33, 1, 1, "", "GetRingPunches"], [33, 1, 1, "", "GetRings"], [33, 1, 1, "", "HasNonPlanarRings"], [33, 1, 1, "", "HasRingPunches"], [35, 1, 1, "", "InsertLoop"], [29, 1, 1, "", "InsertLoopClearGaps"], [35, 1, 1, "", "IsAllAtomScoringSetUp"], [35, 1, 1, "", "IsBackboneScoringSetUp"], [32, 3, 1, "", "KIC"], [34, 3, 1, "", "KICCloser"], [34, 3, 1, "", "LinearScorer"], [31, 3, 1, "", "LoopCandidates"], [29, 1, 1, "", "MergeGaps"], [35, 1, 1, "", "MergeGapsByDistance"], [35, 1, 1, "", "MergeMHandle"], [35, 1, 1, "", "MinimizeModelEnergy"], [35, 1, 1, "", "ModelTermini"], [35, 3, 1, "", "ModellingHandle"], [35, 3, 1, "", "ModellingIssue"], [28, 3, 1, "", "MotifMatch"], [28, 3, 1, "", "MotifQuery"], [34, 3, 1, "", "NTerminalCloser"], [28, 3, 1, "", "PentaMatch"], [34, 3, 1, "", "PhiPsiSampler"], [35, 1, 1, "", "PullTerminalDeletions"], [36, 1, 1, "", "ReconstructSidechains"], [35, 1, 1, "", "RemoveTerminalGaps"], [35, 1, 1, "", "ReorderGaps"], [33, 1, 1, "", "ReportMolProbityScores"], [28, 4, 1, "id1", "RigidBlocks"], [33, 1, 1, "", "RunMolProbity"], [33, 1, 1, "", "RunMolProbityEntity"], [34, 1, 1, "", "SampleMonteCarlo"], [34, 3, 1, "", "SamplerBase"], [31, 3, 1, "", "ScoreContainer"], [34, 3, 1, "", "ScorerBase"], [29, 3, 1, "", "ScoringGapExtender"], [31, 3, 1, "", "ScoringWeights"], [35, 1, 1, "", "SetFraggerHandles"], [35, 1, 1, "", "SetPsipredPredictions"], [35, 1, 1, "", "SetSequenceProfiles"], [35, 1, 1, "", "SetupDefaultAllAtomScoring"], [35, 1, 1, "", "SetupDefaultBackboneScoring"], [29, 3, 1, "", "ShiftExtension"], [36, 3, 1, "", "SidechainReconstructionData"], [36, 3, 1, "", "SidechainReconstructor"], [34, 3, 1, "", "SoftSampler"], [29, 3, 1, "", "StructuralGap"], [29, 3, 1, "", "StructuralGapList"]], "promod3.modelling.AllAtomRelaxer": [[32, 4, 1, "", "GetSystemCreator"], [32, 4, 1, "", "Run"], [32, 4, 1, "", "UpdatePositions"]], "promod3.modelling.BackboneRelaxer": [[32, 4, 1, "", "AddCARestraint"], [32, 4, 1, "", "AddCBRestraint"], [32, 4, 1, "", "AddCRestraint"], [32, 4, 1, "", "AddNRestraint"], [32, 4, 1, "", "AddORestraint"], [32, 4, 1, "", "GetNonBondedCutoff"], [32, 4, 1, "", "Run"], [32, 4, 1, "", "SetNonBondedCutoff"]], "promod3.modelling.CCD": [[32, 4, 1, "id0", "CCD"], [32, 4, 1, "", "Close"]], "promod3.modelling.CCDCloser": [[34, 4, 1, "", "Close"]], "promod3.modelling.CTerminalCloser": [[34, 4, 1, "", "Close"]], "promod3.modelling.CloserBase": [[34, 4, 1, "", "Close"]], "promod3.modelling.CoolerBase": [[34, 4, 1, "", "GetTemperature"], [34, 4, 1, "", "Reset"]], "promod3.modelling.DeNovoCloser": [[34, 4, 1, "", "Close"]], "promod3.modelling.DirtyCCDCloser": [[34, 4, 1, "", "Close"]], "promod3.modelling.ExponentialCooler": [[34, 4, 1, "", "GetTemperature"], [34, 4, 1, "", "Reset"]], "promod3.modelling.FSStructureServer": [[28, 4, 1, "", "FromDataChunks"], [28, 4, 1, "", "GetIdx"], [28, 4, 1, "", "GetOMF"], [28, 4, 1, "", "GetOMFByIdx"], [28, 4, 1, "", "GetOMFByPLC"], [28, 6, 1, "", "chunk"], [28, 6, 1, "", "data"], [28, 6, 1, "", "indexer"], [28, 6, 1, "", "length"], [28, 6, 1, "", "n_entries"], [28, 6, 1, "", "pos"], [28, 6, 1, "", "search_keys"]], "promod3.modelling.FraggerHandle": [[28, 4, 1, "", "Get"], [28, 4, 1, "", "GetList"], [28, 4, 1, "", "LoadCached"], [28, 4, 1, "", "SaveCached"]], "promod3.modelling.FragmentSampler": [[34, 4, 1, "", "Initialize"], [34, 4, 1, "", "ProposeStep"]], "promod3.modelling.FullGapExtender": [[29, 4, 1, "", "Extend"]], "promod3.modelling.GapExtender": [[29, 4, 1, "", "Extend"]], "promod3.modelling.KIC": [[32, 4, 1, "", "Close"], [32, 4, 1, "", "KIC"]], "promod3.modelling.KICCloser": [[34, 4, 1, "", "Close"]], "promod3.modelling.LinearScorer": [[34, 4, 1, "", "GetScore"]], "promod3.modelling.LoopCandidates": [[31, 4, 1, "", "Add"], [31, 4, 1, "", "AddFragmentInfo"], [31, 4, 1, "", "ApplyCCD"], [31, 4, 1, "", "ApplyKIC"], [31, 4, 1, "", "CalculateAllAtomScores"], [31, 4, 1, "", "CalculateBackboneScores"], [31, 4, 1, "id0", "CalculateSequenceProfileScores"], [31, 4, 1, "id2", "CalculateStemRMSDs"], [31, 4, 1, "id1", "CalculateStructureProfileScores"], [31, 4, 1, "", "Extract"], [31, 4, 1, "", "FillFromDatabase"], [31, 4, 1, "", "FillFromMonteCarloSampler"], [31, 4, 1, "", "GetClusteredCandidates"], [31, 4, 1, "", "GetClusters"], [31, 4, 1, "", "GetFragmentInfo"], [31, 4, 1, "", "GetLargestCluster"], [31, 4, 1, "", "GetSequence"], [31, 4, 1, "", "HasFragmentInfos"], [31, 4, 1, "", "Remove"]], "promod3.modelling.ModellingHandle": [[35, 4, 1, "", "Copy"], [35, 5, 1, "", "all_atom_scorer"], [35, 5, 1, "", "all_atom_scorer_env"], [35, 5, 1, "", "all_atom_sidechain_env"], [35, 5, 1, "", "backbone_scorer"], [35, 5, 1, "", "backbone_scorer_env"], [35, 5, 1, "", "fragger_handles"], [35, 5, 1, "", "gaps"], [35, 5, 1, "", "model"], [35, 5, 1, "", "modelling_issues"], [35, 5, 1, "", "profiles"], [35, 5, 1, "", "psipred_predictions"], [35, 5, 1, "", "seqres"], [35, 5, 1, "", "sidechain_reconstructor"]], "promod3.modelling.ModellingIssue": [[35, 3, 1, "", "Severity"], [35, 4, 1, "", "is_major"], [35, 5, 1, "", "residue_list"], [35, 5, 1, "", "severity"], [35, 5, 1, "", "text"]], "promod3.modelling.ModellingIssue.Severity": [[35, 5, 1, "", "MAJOR"], [35, 5, 1, "", "MINOR"]], "promod3.modelling.MotifMatch": [[28, 5, 1, "", "alignment"], [28, 5, 1, "", "mat"], [28, 5, 1, "", "query_idx"]], "promod3.modelling.MotifQuery": [[28, 4, 1, "", "GetIdentifiers"], [28, 4, 1, "", "GetN"], [28, 4, 1, "", "GetPositions"], [28, 4, 1, "", "Load"], [28, 4, 1, "", "Save"]], "promod3.modelling.NTerminalCloser": [[34, 4, 1, "", "Close"]], "promod3.modelling.PentaMatch": [[28, 4, 1, "", "FromSeqList"], [28, 6, 1, "", "N"], [28, 4, 1, "", "TopN"], [28, 6, 1, "", "indexer"], [28, 6, 1, "", "length"], [28, 6, 1, "", "pos"]], "promod3.modelling.PhiPsiSampler": [[34, 4, 1, "", "Initialize"], [34, 4, 1, "", "ProposeStep"]], "promod3.modelling.SamplerBase": [[34, 4, 1, "", "Initialize"], [34, 4, 1, "", "ProposeStep"]], "promod3.modelling.ScoreContainer": [[31, 4, 1, "", "Contains"], [31, 4, 1, "", "Copy"], [31, 4, 1, "", "Extend"], [31, 4, 1, "", "Extract"], [31, 4, 1, "", "Get"], [31, 4, 1, "", "GetNumCandidates"], [31, 4, 1, "", "IsEmpty"], [31, 4, 1, "", "LinearCombine"], [31, 4, 1, "", "Set"]], "promod3.modelling.ScorerBase": [[34, 4, 1, "", "GetScore"]], "promod3.modelling.ScoringGapExtender": [[29, 4, 1, "", "Extend"]], "promod3.modelling.ScoringWeights": [[31, 4, 1, "", "GetAllAtomScoringKeys"], [31, 4, 1, "", "GetAllAtomWeights"], [31, 4, 1, "", "GetBackboneScoringKeys"], [31, 4, 1, "", "GetBackboneWeights"], [31, 4, 1, "", "GetSequenceProfileScoresKey"], [31, 4, 1, "", "GetStemRMSDsKey"], [31, 4, 1, "", "GetStructureProfileScoresKey"], [31, 4, 1, "", "GetWeights"], [31, 4, 1, "", "SetAllAtomScoringKeys"], [31, 4, 1, "", "SetBackboneScoringKeys"], [31, 4, 1, "", "SetSequenceProfileScoresKey"], [31, 4, 1, "", "SetStemRMSDsKey"], [31, 4, 1, "", "SetStructureProfileScoresKey"], [31, 4, 1, "", "SetWeights"]], "promod3.modelling.ShiftExtension": [[29, 4, 1, "", "Extend"]], "promod3.modelling.SidechainReconstructionData": [[36, 5, 1, "", "disulfid_bridges"], [36, 5, 1, "", "env_pos"], [36, 5, 1, "", "is_c_ter"], [36, 5, 1, "", "is_n_ter"], [36, 5, 1, "", "loop_lengths"], [36, 5, 1, "", "loop_start_indices"], [36, 5, 1, "", "rotamer_res_indices"]], "promod3.modelling.SidechainReconstructor": [[36, 4, 1, "", "AttachEnvironment"], [36, 4, 1, "", "Reconstruct"]], "promod3.modelling.SoftSampler": [[34, 4, 1, "", "Initialize"], [34, 4, 1, "", "ProposeStep"]], "promod3.modelling.StructuralGap": [[29, 4, 1, "", "Copy"], [29, 4, 1, "", "ExtendAtCTerm"], [29, 4, 1, "", "ExtendAtNTerm"], [29, 4, 1, "", "GetChain"], [29, 4, 1, "", "GetChainIndex"], [29, 4, 1, "", "GetChainName"], [29, 4, 1, "", "GetLength"], [29, 4, 1, "", "IsCTerminal"], [29, 4, 1, "", "IsNTerminal"], [29, 4, 1, "", "IsTerminal"], [29, 4, 1, "", "ShiftCTerminal"], [29, 5, 1, "", "after"], [29, 5, 1, "", "before"], [29, 5, 1, "", "full_seq"], [29, 5, 1, "", "length"], [29, 5, 1, "", "seq"]], "promod3.scoring": [[39, 3, 1, "", "AllAtomClashScorer"], [39, 3, 1, "", "AllAtomInteractionScorer"], [39, 3, 1, "", "AllAtomOverallScorer"], [39, 3, 1, "", "AllAtomPackingScorer"], [39, 3, 1, "", "AllAtomScorer"], [41, 3, 1, "", "BackboneOverallScorer"], [40, 3, 1, "", "BackboneScoreEnv"], [41, 3, 1, "", "BackboneScorer"], [41, 3, 1, "", "CBPackingScorer"], [41, 3, 1, "", "CBetaScorer"], [41, 3, 1, "", "ClashScorer"], [40, 3, 1, "", "ConstraintFunction"], [40, 3, 1, "", "ContactFunction"], [40, 3, 1, "", "DiscoContainer"], [41, 3, 1, "", "HBondScorer"], [39, 1, 1, "", "LoadAllAtomInteractionScorer"], [39, 1, 1, "", "LoadAllAtomPackingScorer"], [41, 1, 1, "", "LoadCBPackingScorer"], [41, 1, 1, "", "LoadCBetaScorer"], [39, 1, 1, "", "LoadDefaultAllAtomOverallScorer"], [41, 1, 1, "", "LoadDefaultBackboneOverallScorer"], [41, 1, 1, "", "LoadHBondScorer"], [41, 1, 1, "", "LoadReducedScorer"], [41, 1, 1, "", "LoadSSAgreementScorer"], [41, 1, 1, "", "LoadTorsionScorer"], [40, 3, 1, "", "PairwiseFunction"], [40, 3, 1, "", "PairwiseFunctionType"], [41, 3, 1, "", "PairwiseScorer"], [41, 3, 1, "", "ReducedScorer"], [43, 4, 1, "", "SCWRL3DisulfidScore"], [43, 4, 1, "", "SCWRL3PairwiseScore"], [41, 3, 1, "", "SSAgreementScorer"], [41, 3, 1, "", "TorsionScorer"]], "promod3.scoring.AllAtomClashScorer": [[39, 4, 1, "", "DoExternalScores"], [39, 4, 1, "", "DoInternalScores"], [39, 4, 1, "", "DoNormalize"]], "promod3.scoring.AllAtomInteractionScorer": [[39, 4, 1, "", "DoExternalScores"], [39, 4, 1, "", "DoInternalScores"], [39, 4, 1, "", "DoNormalize"], [39, 4, 1, "", "Load"], [39, 4, 1, "", "LoadPortable"], [39, 4, 1, "", "Save"], [39, 4, 1, "", "SavePortable"], [39, 4, 1, "", "SetEnergy"]], "promod3.scoring.AllAtomOverallScorer": [[39, 4, 1, "", "AttachEnvironment"], [39, 4, 1, "", "CalculateLinearCombination"], [39, 4, 1, "", "Contains"], [39, 4, 1, "", "Get"], [39, 4, 1, "", "__getitem__"], [39, 4, 1, "", "__setitem__"]], "promod3.scoring.AllAtomPackingScorer": [[39, 4, 1, "", "DoNormalize"], [39, 4, 1, "", "Load"], [39, 4, 1, "", "LoadPortable"], [39, 4, 1, "", "Save"], [39, 4, 1, "", "SavePortable"], [39, 4, 1, "", "SetEnergy"]], "promod3.scoring.AllAtomScorer": [[39, 4, 1, "", "AttachEnvironment"], [39, 4, 1, "", "CalculateScore"], [39, 4, 1, "", "CalculateScoreProfile"]], "promod3.scoring.BackboneOverallScorer": [[41, 4, 1, "", "AttachEnvironment"], [41, 4, 1, "", "Calculate"], [41, 4, 1, "", "CalculateLinearCombination"], [41, 4, 1, "", "Contains"], [41, 4, 1, "", "Get"], [41, 4, 1, "", "__getitem__"], [41, 4, 1, "", "__setitem__"]], "promod3.scoring.BackboneScoreEnv": [[40, 4, 1, "", "AddPairwiseFunction"], [40, 4, 1, "", "ApplyPairwiseFunction"], [40, 4, 1, "", "ClearEnvironment"], [40, 4, 1, "", "Copy"], [40, 4, 1, "", "GetSeqres"], [40, 4, 1, "", "Pop"], [40, 4, 1, "", "SetEnvironment"], [40, 4, 1, "", "SetInitialEnvironment"], [40, 4, 1, "", "SetPsipredPrediction"], [40, 4, 1, "", "Stash"]], "promod3.scoring.BackboneScorer": [[41, 4, 1, "", "AttachEnvironment"], [41, 4, 1, "", "CalculateScore"], [41, 4, 1, "", "CalculateScoreProfile"]], "promod3.scoring.CBPackingScorer": [[41, 4, 1, "", "DoNormalize"], [41, 4, 1, "", "Load"], [41, 4, 1, "", "LoadPortable"], [41, 4, 1, "", "Save"], [41, 4, 1, "", "SavePortable"], [41, 4, 1, "", "SetEnergy"]], "promod3.scoring.CBetaScorer": [[41, 4, 1, "", "DoExternalScores"], [41, 4, 1, "", "DoInternalScores"], [41, 4, 1, "", "DoNormalize"], [41, 4, 1, "", "Load"], [41, 4, 1, "", "LoadPortable"], [41, 4, 1, "", "Save"], [41, 4, 1, "", "SavePortable"], [41, 4, 1, "", "SetEnergy"]], "promod3.scoring.ClashScorer": [[41, 4, 1, "", "DoExternalScores"], [41, 4, 1, "", "DoInternalScores"], [41, 4, 1, "", "DoNormalize"]], "promod3.scoring.DiscoContainer": [[40, 1, 1, "", "AddStructuralInfo"], [40, 1, 1, "", "AttachConstraints"]], "promod3.scoring.HBondScorer": [[41, 4, 1, "", "DoExternalScores"], [41, 4, 1, "", "DoInternalScores"], [41, 4, 1, "", "DoNormalize"], [41, 4, 1, "", "Load"], [41, 4, 1, "", "LoadPortable"], [41, 4, 1, "", "Save"], [41, 4, 1, "", "SavePortable"], [41, 4, 1, "", "SetEnergy"]], "promod3.scoring.PairwiseFunction": [[40, 4, 1, "", "Score"]], "promod3.scoring.PairwiseScorer": [[41, 4, 1, "", "DoExternalScores"], [41, 4, 1, "", "DoInternalScores"], [41, 4, 1, "", "DoNormalize"]], "promod3.scoring.ReducedScorer": [[41, 4, 1, "", "DoExternalScores"], [41, 4, 1, "", "DoInternalScores"], [41, 4, 1, "", "DoNormalize"], [41, 4, 1, "", "Load"], [41, 4, 1, "", "LoadPortable"], [41, 4, 1, "", "Save"], [41, 4, 1, "", "SavePortable"], [41, 4, 1, "", "SetEnergy"]], "promod3.scoring.SSAgreementScorer": [[41, 4, 1, "", "DoNormalize"], [41, 4, 1, "", "Load"], [41, 4, 1, "", "LoadPortable"], [41, 4, 1, "", "Save"], [41, 4, 1, "", "SavePortable"], [41, 4, 1, "", "SetScore"]], "promod3.scoring.TorsionScorer": [[41, 4, 1, "", "DoNormalize"], [41, 4, 1, "", "Load"], [41, 4, 1, "", "LoadPortable"], [41, 4, 1, "", "Save"], [41, 4, 1, "", "SavePortable"], [41, 4, 1, "", "SetEnergy"]], "promod3.sidechain": [[49, 4, 1, "", "AAToRotID"], [51, 3, 1, "", "BBDepRotamerLib"], [49, 4, 1, "", "CreateSCWRL3Particle"], [49, 4, 1, "", "CreateSCWRL4Particle"], [49, 4, 1, "", "CreateVINAParticle"], [51, 3, 1, "", "DihedralConfiguration"], [44, 4, 1, "", "DisulfidScore"], [49, 3, 1, "", "FRMRotamer"], [49, 3, 1, "", "FRMRotamerGroup"], [45, 3, 1, "", "Frame"], [45, 3, 1, "", "FrameResidue"], [51, 4, 1, "", "GetDihedralConfiguration"], [51, 4, 1, "", "GetRotamericConfiguration"], [49, 4, 1, "", "GetVINAWeightGaussian1"], [49, 4, 1, "", "GetVINAWeightGaussian2"], [49, 4, 1, "", "GetVINAWeightHBond"], [49, 4, 1, "", "GetVINAWeightHydrophobic"], [49, 4, 1, "", "GetVINAWeightRepulsion"], [48, 4, 1, "", "LoadBBDepLib"], [48, 4, 1, "", "LoadLib"], [49, 3, 1, "", "PScoringFunction"], [49, 3, 1, "", "Particle"], [49, 3, 1, "", "RRMRotamer"], [49, 3, 1, "", "RRMRotamerGroup"], [48, 4, 1, "", "ReadDunbrackFile"], [44, 4, 1, "", "ResolveCysteins"], [50, 3, 1, "", "RotamerConstructor"], [46, 3, 1, "", "RotamerGraph"], [49, 3, 1, "", "RotamerID"], [51, 3, 1, "", "RotamerLib"], [51, 3, 1, "id0", "RotamerLibEntry"], [50, 3, 1, "", "SCWRL3RotamerConstructor"], [49, 3, 1, "", "SCWRL4ParticleType"], [50, 3, 1, "", "SCWRL4RotamerConstructor"], [49, 4, 1, "", "SetVINAWeightGaussian1"], [49, 4, 1, "", "SetVINAWeightGaussian2"], [49, 4, 1, "", "SetVINAWeightHBond"], [49, 4, 1, "", "SetVINAWeightHydrophobic"], [49, 4, 1, "", "SetVINAWeightRepulsion"], [52, 4, 1, "", "SubrotamerOptimizer"], [49, 4, 1, "", "TLCToRotID"], [49, 3, 1, "", "VINAParticleType"], [50, 3, 1, "", "VINARotamerConstructor"]], "promod3.sidechain.BBDepRotamerLib": [[51, 4, 1, "", "AddRotamer"], [51, 4, 1, "", "Load"], [51, 4, 1, "", "LoadPortable"], [51, 4, 1, "", "MakeStatic"], [51, 4, 1, "", "QueryLib"], [51, 4, 1, "", "Save"], [51, 4, 1, "", "SavePortable"], [51, 4, 1, "", "SetInterpolate"]], "promod3.sidechain.FRMRotamer": [[49, 4, 1, "id7", "AddFrameEnergy"], [49, 4, 1, "", "AddSubrotamerDefinition"], [49, 4, 1, "id4", "ApplyOnResidue"], [49, 4, 1, "", "GetActiveSubrotamer"], [49, 4, 1, "id5", "GetFrameEnergy"], [49, 4, 1, "", "GetInternalEnergy"], [49, 4, 1, "", "GetInternalEnergyPrefactor"], [49, 4, 1, "", "GetNumSubrotamers"], [49, 4, 1, "", "GetProbability"], [49, 4, 1, "", "GetSelfEnergy"], [49, 4, 1, "", "GetSubrotamerDefinition"], [49, 4, 1, "", "GetTemperature"], [49, 4, 1, "", "SetActiveSubrotamer"], [49, 4, 1, "id6", "SetFrameEnergy"], [49, 4, 1, "", "SetInternalEnergy"], [49, 4, 1, "", "SetInternalEnergyPrefactor"], [49, 4, 1, "", "SetProbability"], [49, 4, 1, "", "SetTemperature"], [49, 4, 1, "", "ToFrameResidue"], [49, 4, 1, "", "ToRRMRotamer"], [49, 4, 1, "", "__getitem__"], [49, 4, 1, "", "__len__"]], "promod3.sidechain.FRMRotamerGroup": [[49, 4, 1, "", "AddFrameEnergy"], [49, 4, 1, "", "ApplyOnResidue"], [49, 4, 1, "", "ApplySelfEnergyThresh"], [49, 4, 1, "", "Merge"], [49, 4, 1, "", "SetFrameEnergy"], [49, 4, 1, "", "__getitem__"], [49, 4, 1, "", "__len__"]], "promod3.sidechain.FrameResidue": [[45, 4, 1, "", "__getitem__"], [45, 4, 1, "", "__len__"]], "promod3.sidechain.Particle": [[49, 4, 1, "", "GetCollisionDistance"], [49, 4, 1, "", "GetName"], [49, 4, 1, "", "GetPos"], [49, 4, 1, "", "GetScoringFunction"], [49, 4, 1, "", "PairwiseScore"]], "promod3.sidechain.RRMRotamer": [[49, 4, 1, "", "AddFrameEnergy"], [49, 4, 1, "id0", "ApplyOnResidue"], [49, 4, 1, "", "GetFrameEnergy"], [49, 4, 1, "", "GetInternalEnergy"], [49, 4, 1, "", "GetInternalEnergyPrefactor"], [49, 4, 1, "", "GetProbability"], [49, 4, 1, "", "GetSelfEnergy"], [49, 4, 1, "", "SetFrameEnergy"], [49, 4, 1, "", "SetInternalEnergy"], [49, 4, 1, "", "SetInternalEnergyPrefactor"], [49, 4, 1, "", "SetProbability"], [49, 4, 1, "", "ToFrameResidue"], [49, 4, 1, "", "__getitem__"], [49, 4, 1, "", "__len__"]], "promod3.sidechain.RRMRotamerGroup": [[49, 4, 1, "", "AddFrameEnergy"], [49, 4, 1, "", "ApplyOnResidue"], [49, 4, 1, "", "ApplySelfEnergyThresh"], [49, 4, 1, "", "Merge"], [49, 4, 1, "", "SetFrameEnergy"], [49, 4, 1, "", "__getitem__"], [49, 4, 1, "", "__len__"]], "promod3.sidechain.RotamerConstructor": [[50, 4, 1, "", "AssignInternalEnergies"], [50, 4, 1, "id3", "ConstructBackboneFrameResidue"], [50, 4, 1, "id2", "ConstructRRMRotamerGroup"], [50, 4, 1, "id4", "ConstructSidechainFrameResidue"]], "promod3.sidechain.RotamerGraph": [[46, 4, 1, "", "CreateFromFRMList"], [46, 4, 1, "", "CreateFromRRMList"]], "promod3.sidechain.RotamerLib": [[51, 4, 1, "", "AddRotamer"], [51, 4, 1, "", "Load"], [51, 4, 1, "", "LoadPortable"], [51, 4, 1, "", "MakeStatic"], [51, 4, 1, "", "QueryLib"], [51, 4, 1, "", "Save"], [51, 4, 1, "", "SavePortable"]], "promod3.sidechain.RotamerLibEntry": [[51, 4, 1, "id1", "FromResidue"], [51, 4, 1, "id2", "IsSimilar"], [51, 4, 1, "id3", "SimilarDihedral"], [51, 5, 1, "", "chi1"], [51, 5, 1, "", "chi2"], [51, 5, 1, "", "chi3"], [51, 5, 1, "", "chi4"], [51, 5, 1, "", "probability"], [51, 5, 1, "", "sig1"], [51, 5, 1, "", "sig2"], [51, 5, 1, "", "sig3"], [51, 5, 1, "", "sig4"]], "promod3.sidechain.SCWRL3RotamerConstructor": [[50, 4, 1, "", "AssignInternalEnergies"]], "promod3.sidechain.SCWRL4RotamerConstructor": [[50, 4, 1, "", "AssignInternalEnergies"], [50, 4, 1, "", "ConstructFrameResidue"], [50, 4, 1, "", "ConstructFrameResidueHeuristic"]], "promod3.sidechain.VINARotamerConstructor": [[50, 4, 1, "", "AssignInternalEnergies"], [50, 4, 1, "", "ConstructFRMRotamerHeuristic"], [50, 4, 1, "", "ConstructFrameResidueHeuristic"], [50, 4, 1, "", "ConstructRRMRotamerHeuristic"]], "test_actions": [[1, 3, 1, "", "ActionTestCase"]], "test_actions.ActionTestCase": [[1, 4, 1, "", "RunAction"], [1, 4, 1, "", "RunExitStatusTest"], [1, 5, 1, "", "pm_action"], [1, 5, 1, "", "pm_bin"], [1, 4, 1, "", "testPMExists"]]}, "objtypes": {"0": "cmake:command", "1": "py:function", "2": "py:module", "3": "py:class", "4": "py:method", "5": "py:attribute", "6": "py:property", "7": "std:cmdoption"}, "objnames": {"0": ["cmake", "command", "CMake command"], "1": ["py", "function", "Python function"], "2": ["py", "module", "Python module"], "3": ["py", "class", "Python class"], "4": ["py", "method", "Python method"], "5": ["py", "attribute", "Python attribute"], "6": ["py", "property", "Python property"], "7": ["std", "cmdoption", "program option"]}, "titleterms": {"promod3": [0, 2, 4, 5, 6, 8, 12, 16, 18, 19, 37], "action": [0, 1, 4, 5, 8], "build": [0, 2, 5, 35, 49], "model": [0, 18, 28, 30, 31, 33, 35, 47], "sidechain": [0, 36, 47, 49], "test_act": 1, "test": [1, 4, 8, 11], "creat": [1, 25], "an": [1, 49], "unit": [1, 4, 8], "script": [1, 5, 8], "The": [1, 5, 7, 16, 21, 22, 26, 27, 31, 35, 36, 45, 49, 50, 51], "cmake": [1, 2, 4, 16], "integr": 1, "subclass": 1, "must": 1, "have": 1, "make": [1, 2], "execut": [1, 5], "run": [1, 2, 5, 18], "output": 1, "Of": [1, 4], "actiontestcas": 1, "api": 1, "depend": [2, 51], "us": [2, 37], "instal": 2, "changelog": 3, "releas": 3, "3": 3, "4": 3, "2": 3, "1": 3, "0": 3, "": [4, 5], "share": [4, 8, 11], "introduct": [4, 11, 13], "function": [4, 9, 11, 12, 29, 36, 40, 43, 49, 50], "For": [4, 11, 17, 54], "modul": [4, 8], "mainten": 4, "definit": 4, "document": [4, 8, 17, 19, 54], "docker": 5, "own": [5, 8], "registri": 5, "imag": 5, "pm": 5, "compound": [5, 7], "librari": [5, 7, 48, 51], "contain": 6, "singular": 7, "avail": 7, "app": 7, "contribut": [8, 53], "how": [8, 49], "To": 8, "your": 8, "start": [8, 18], "write": 8, "scorer": [8, 34, 39, 41], "quick": 8, "featur": [8, 26], "third": 8, "parti": 8, "licens": [8, 20], "issu": 8, "geometri": 9, "graph": [10, 46], "minim": 10, "helper": 11, "everyth": 11, "messag": 11, "file": [11, 37], "core": 12, "pm3argpars": 13, "pars": 13, "command": 13, "line": 13, "argument": 13, "parser": 13, "runtim": 14, "profil": 14, "setcompoundschemlib": 15, "setup": 16, "git": 16, "branch": 16, "hook": 16, "directori": 16, "structur": [16, 26], "stage": 16, "develop": 17, "get": [18, 49], "pipelin": [18, 35], "handl": [21, 23, 29, 31, 35], "all": [21, 32, 39], "atom": [21, 32, 39], "posit": 21, "allatomenv": 21, "class": [21, 22, 26, 27, 29, 31, 36, 39, 40, 41], "allatomposit": 21, "allatomenvposit": 21, "distinguish": 21, "amino": [21, 25, 27], "acid": [21, 25, 27], "repres": [22, 49], "loop": [22, 23, 25, 31, 32, 34, 42], "backbonelist": 22, "load": [24, 48], "precomput": 24, "object": [24, 34, 45], "gener": [25, 34], "ost": 25, "mol": 25, "mm": 25, "system": 25, "forcefield": 25, "lookup": 25, "data": [26, 37], "defin": [26, 27], "chain": 26, "fragment": 26, "databas": 26, "find": 26, "base": [26, 39, 41], "geometr": 26, "sequenc": 26, "psipredpredict": 26, "sampl": 27, "dihedr": 27, "angl": 27, "triplet": 27, "torsion": 27, "sampler": [27, 34], "algorithm": 28, "rigid": [28, 45], "block": [28, 49], "de": [28, 34], "novo": [28, 34], "motif": 28, "finder": 28, "afdb": 28, "gap": [29, 32], "extend": 29, "protein": 30, "candid": 31, "loopcandid": 31, "keep": 31, "track": 31, "score": [31, 40, 42, 43, 49, 50], "exampl": [31, 37], "fit": 32, "Into": 32, "ccd": 32, "kic": 32, "relax": 32, "backbon": [32, 40, 41, 51], "check": 33, "detect": 33, "ring": 33, "punch": 33, "non": [33, 51], "planar": 33, "With": 33, "molprob": 33, "closer": 34, "cooler": 34, "raw": 35, "default": 35, "step": 35, "align": 35, "fiddl": 35, "reconstruct": 36, "sidechainreconstructor": 36, "sidechainreconstructiondata": 36, "binari": 37, "In": 37, "header": 37, "portabl": 37, "code": 37, "exisit": 37, "refer": 38, "allatomoverallscor": 39, "allatomscor": 39, "allatominteractionscor": 39, "allatompackingscor": 39, "allatomclashscor": 39, "environ": 40, "backbonescoreenv": 40, "pairwis": 40, "conveni": 40, "construct": 40, "backboneoverallscor": 41, "backbonescor": 41, "cbpackingscor": 41, "cbetascor": 41, "reducedscor": 41, "clashscor": 41, "hbondscor": 41, "ssagreementscor": 41, "torsionscor": 41, "pairwisescor": 41, "other": 43, "from": 43, "scwrl3": [43, 49], "disulfid": 44, "bond": 44, "evalu": 44, "frame": 45, "part": 45, "rotam": [46, 48, 49, 50, 51], "co": 49, "rotamerid": 49, "can": 49, "i": 49, "id": 49, "smallest": 49, "particl": 49, "scwrl4": 49, "vina": 49, "group": 49, "constructor": 50, "rotamerconstructor": 50, "baseclass": 50, "specif": 50, "entri": 51, "type": 51, "configur": 51, "subrotam": 52, "optim": 52, "user": 54}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"ProMod3 Actions": [[0, "project-actions"]], "Building models": [[0, "building-models"]], "Sidechain Modelling": [[0, "sidechain-modelling"]], "test_actions - Testing Actions": [[1, "module-test_actions"]], "Creating an Action Unit Test Script": [[1, "creating-an-action-unit-test-script"]], "The Test Script": [[1, "the-test-script"]], "CMake Integration": [[1, "cmake-integration"]], "Creating a Test Subclass": [[1, "creating-a-test-subclass"]], "Must Have Tests": [[1, "must-have-tests"]], "Making the Script Executable": [[1, "making-the-script-executable"]], "Running the Test Script": [[1, "running-the-test-script"]], "Output Of test_actions.ActionTestCase": [[1, "output-of-test-actions-actiontestcase"]], "Unit Test Actions API": [[1, "unit-test-actions-api"]], "Building ProMod3": [[2, "building-project"]], "Dependencies": [[2, "dependencies"]], "Using CMake": [[2, "using-cmake"]], "Running Make": [[2, "running-make"]], "Installing ProMod3": [[2, "installing-project"]], "Changelog": [[3, "changelog"]], "Release 3.4.2": [[3, "release-3-4-2"]], "Release 3.4.1": [[3, "release-3-4-1"]], "Release 3.4.0": [[3, "release-3-4-0"]], "Release 3.3.1": [[3, "release-3-3-1"]], "Release 3.3.0": [[3, "release-3-3-0"]], "Release 3.2.1": [[3, "release-3-2-1"]], "Release 3.2.0": [[3, "release-3-2-0"]], "Release 3.1.1": [[3, "release-3-1-1"]], "Release 3.1.0": [[3, "release-3-1-0"]], "Release 3.0.0": [[3, "release-3-0-0"]], "Release 2.1.0": [[3, "release-2-1-0"]], "Release 2.0.0": [[3, "release-2-0-0"]], "Release 1.3.0": [[3, "release-1-3-0"]], "Release 1.2.0": [[3, "release-1-2-0"]], "Release 1.1.0": [[3, "release-1-1-0"]], "Release 1.0": [[3, "release-1-0"]], "ProMod3\u2019s Share Of CMake": [[4, "project-s-share-of-cmake"]], "Introduction": [[4, "introduction"], [11, "introduction"], [13, "introduction"]], "Functions For Module/ Action Maintenance": [[4, "functions-for-module-action-maintenance"]], "Module definition": [[4, "module-definition"]], "Unit Tests": [[4, "unit-tests"], [8, "unit-tests"]], "Documentation": [[4, "documentation"], [19, "documentation"]], "Actions": [[4, "actions"]], "Docker": [[5, "docker"]], "ProMod3\u2019s Own Docker Registry": [[5, "project-s-own-docker-registry"]], "Build Docker Image": [[5, "build-docker-image"]], "Run scripts and actions with pm executable": [[5, "run-scripts-and-actions-with-pm-executable"]], "The Compound Library": [[5, "the-compound-library"], [7, "the-compound-library"]], "ProMod3 and Containers": [[6, "project-and-containers"]], "Singularity": [[7, "singularity"]], "Available apps": [[7, "available-apps"]], "Contributing": [[8, "contributing"], [53, "contributing"]], "How To Share Your Own Script": [[8, "how-to-share-your-own-script"]], "How To Start Your Own Module": [[8, "how-to-start-your-own-module"]], "How To Start Your Own Action": [[8, "how-to-start-your-own-action"]], "How To Write Your Own Scorer": [[8, "how-to-write-your-own-scorer"]], "Quick testing of ProMod3 features": [[8, "quick-testing-of-project-features"]], "Writing Documentation": [[8, "writing-documentation"]], "Third Party Contributions (License Issues)": [[8, "third-party-contributions-license-issues"]], "Geometry functions": [[9, "geometry-functions"]], "Graph Minimizer": [[10, "graph-minimizer"]], "helper - Shared Functionality For the Everything": [[11, "module-promod3.core.helper"]], "Messages": [[11, "messages"]], "File Tests": [[11, "file-tests"]], "core - ProMod3 Core Functionality": [[12, "module-promod3.core"]], "pm3argparse - Parsing Command Lines": [[13, "module-promod3.core.pm3argparse"]], "Argument Parser": [[13, "argument-parser"]], "Runtime profiling": [[14, "runtime-profiling"]], "SetCompoundsChemlib()": [[15, "setcompoundschemlib"]], "ProMod3 Setup": [[16, "project-setup"]], "Git Branches": [[16, "git-branches"]], "Git Hooks": [[16, "git-hooks"]], "Directory Structure": [[16, "directory-structure"]], "CMake": [[16, "cmake"]], "The stage Directory": [[16, "the-stage-directory"]], "Documentation For Developers": [[17, "documentation-for-developers"]], "Getting Started": [[18, "getting-started"]], "Get and Run ProMod3": [[18, "get-and-run-project"]], "Modelling pipeline": [[18, "modelling-pipeline"]], "ProMod3": [[19, "promod3"]], "License": [[20, "license"]], "Handling All Atom Positions": [[21, "handling-all-atom-positions"]], "The AllAtomEnv class": [[21, "the-allatomenv-class"]], "The AllAtomPositions class": [[21, "the-allatompositions-class"]], "The AllAtomEnvPositions class": [[21, "the-allatomenvpositions-class"]], "Distinguishing amino acid atoms": [[21, "distinguishing-amino-acid-atoms"]], "Representing Loops": [[22, "representing-loops"]], "The BackboneList class": [[22, "the-backbonelist-class"]], "loop - Loop Handling": [[23, "module-promod3.loop"]], "Loading Precomputed Objects": [[24, "loading-precomputed-objects"]], "Generate ost.mol.mm systems": [[25, "generate-ost-mol-mm-systems"]], "Create MM systems for loops": [[25, "create-mm-systems-for-loops"]], "Forcefield lookup for amino acids": [[25, "forcefield-lookup-for-amino-acids"]], "Structural Data": [[26, "structural-data"]], "Defining Chains and Fragments": [[26, "defining-chains-and-fragments"]], "The Structure Database": [[26, "the-structure-database"]], "Finding Fragments based on Geometric Features": [[26, "finding-fragments-based-on-geometric-features"]], "Finding Fragments based on Sequence Features": [[26, "finding-fragments-based-on-sequence-features"]], "The PsipredPrediction class": [[26, "the-psipredprediction-class"]], "Sampling Dihedral Angles": [[27, "sampling-dihedral-angles"]], "Defining Amino Acid triplets": [[27, "defining-amino-acid-triplets"]], "The Torsion Sampler Class": [[27, "the-torsion-sampler-class"]], "Modelling Algorithms": [[28, "modelling-algorithms"]], "Rigid Blocks": [[28, "rigid-blocks"]], "De Novo Modelling": [[28, "de-novo-modelling"]], "Motif Finder": [[28, "motif-finder"]], "AFDB Modelling": [[28, "afdb-modelling"]], "Handling Gaps": [[29, "handling-gaps"]], "Gap classes": [[29, "gap-classes"]], "Gap Extender classes": [[29, "gap-extender-classes"]], "Gap Handling Functions": [[29, "gap-handling-functions"]], "modelling - Protein Modelling": [[30, "module-promod3.modelling"]], "Handling Loop Candidates": [[31, "handling-loop-candidates"]], "The LoopCandidates class": [[31, "the-loopcandidates-class"]], "Keeping track of loop candidate scores": [[31, "keeping-track-of-loop-candidate-scores"]], "Example: loop scoring in modelling": [[31, "example-loop-scoring-in-modelling"]], "Fitting Loops Into Gaps": [[32, "fitting-loops-into-gaps"]], "CCD": [[32, "ccd"]], "KIC": [[32, "kic"]], "Relaxing Backbones": [[32, "relaxing-backbones"]], "Relaxing All Atom Loops": [[32, "relaxing-all-atom-loops"]], "Model Checking": [[33, "model-checking"]], "Detecting Ring Punches": [[33, "detecting-ring-punches"]], "Detecting Non-Planar Rings": [[33, "detecting-non-planar-rings"]], "Model Checking With MolProbity": [[33, "model-checking-with-molprobity"]], "Generating Loops De Novo": [[34, "generating-loops-de-novo"]], "Sampler Object": [[34, "sampler-object"]], "Closer Object": [[34, "closer-object"]], "Scorer Object": [[34, "scorer-object"]], "Cooler Object": [[34, "cooler-object"]], "Modelling Pipeline": [[35, "modelling-pipeline"]], "Build Raw Modelling Handle": [[35, "build-raw-modelling-handle"]], "The Default Pipeline": [[35, "the-default-pipeline"]], "Modelling Steps": [[35, "modelling-steps"]], "Alignment Fiddling": [[35, "alignment-fiddling"]], "Sidechain Reconstruction": [[36, "sidechain-reconstruction"]], "Reconstruct Function": [[36, "reconstruct-function"]], "SidechainReconstructor Class": [[36, "sidechainreconstructor-class"]], "The SidechainReconstructionData class": [[36, "the-sidechainreconstructiondata-class"]], "Using Binary Files In ProMod3": [[37, "using-binary-files-in-project"]], "File Header": [[37, "file-header"]], "Portable Binary Data": [[37, "portable-binary-data"]], "Code Example": [[37, "code-example"]], "Exisiting Binary Files": [[37, "exisiting-binary-files"]], "References": [[38, "references"]], "All Atom Scorers": [[39, "all-atom-scorers"]], "AllAtomOverallScorer class": [[39, "allatomoverallscorer-class"]], "AllAtomScorer base class": [[39, "allatomscorer-base-class"]], "AllAtomInteractionScorer class": [[39, "allatominteractionscorer-class"]], "AllAtomPackingScorer class": [[39, "allatompackingscorer-class"]], "AllAtomClashScorer class": [[39, "allatomclashscorer-class"]], "Backbone Score Environment": [[40, "backbone-score-environment"]], "BackboneScoreEnv class": [[40, "backbonescoreenv-class"]], "Pairwise function classes": [[40, "pairwise-function-classes"]], "Convenient construction of pairwise functions": [[40, "convenient-construction-of-pairwise-functions"]], "Backbone Scorers": [[41, "backbone-scorers"]], "BackboneOverallScorer class": [[41, "backboneoverallscorer-class"]], "BackboneScorer base class": [[41, "backbonescorer-base-class"]], "CBPackingScorer class": [[41, "cbpackingscorer-class"]], "CBetaScorer class": [[41, "cbetascorer-class"]], "ReducedScorer class": [[41, "reducedscorer-class"]], "ClashScorer class": [[41, "clashscorer-class"]], "HBondScorer class": [[41, "hbondscorer-class"]], "SSAgreementScorer class": [[41, "ssagreementscorer-class"]], "TorsionScorer class": [[41, "torsionscorer-class"]], "PairwiseScorer class": [[41, "pairwisescorer-class"]], "scoring - Loop Scoring": [[42, "module-promod3.scoring"]], "Other Scoring Functions": [[43, "other-scoring-functions"]], "Scoring Functions from SCWRL3": [[43, "scoring-functions-from-scwrl3"]], "Disulfid Bond Evaluation": [[44, "disulfid-bond-evaluation"]], "Frame - The Rigid Part": [[45, "frame-the-rigid-part"]], "The Frame Objects": [[45, "the-frame-objects"]], "Rotamer Graph": [[46, "rotamer-graph"]], "sidechain - Sidechain Modelling": [[47, "module-promod3.sidechain"]], "Loading Rotamer Libraries": [[48, "loading-rotamer-libraries"]], "Representing Sidechains - Rotamers & Co.": [[49, "representing-sidechains-rotamers-co"]], "RotamerID": [[49, "rotamerid"]], "How can I get an ID?": [[49, "how-can-i-get-an-id"]], "The Smallest Building Block - The Particle": [[49, "the-smallest-building-block-the-particle"]], "The SCWRL4 scoring function": [[49, "the-scwrl4-scoring-function"]], "The SCWRL3 scoring function": [[49, "the-scwrl3-scoring-function"]], "The VINA scoring function": [[49, "the-vina-scoring-function"]], "Rotamers": [[49, "rotamers"]], "Rotamer Groups": [[49, "rotamer-groups"]], "Rotamer Constructor": [[50, "rotamer-constructor"]], "The RotamerConstructor Baseclass": [[50, "the-rotamerconstructor-baseclass"]], "Scoring Function Specific RotamerConstructors": [[50, "scoring-function-specific-rotamerconstructors"]], "Rotamer Library": [[51, "rotamer-library"]], "The Non Backbone Dependent Rotamer Library": [[51, "the-non-backbone-dependent-rotamer-library"]], "The Backbone Dependent Rotamer Library": [[51, "the-backbone-dependent-rotamer-library"]], "The Library Entry Type": [[51, "the-library-entry-type"]], "Rotamer Configurations": [[51, "rotamer-configurations"]], "Subrotamer Optimization": [[52, "subrotamer-optimization"]], "Documentation For Users": [[54, "documentation-for-users"]]}, "indexentries": {"--backbone-independent": [[0, "cmdoption-i"]], "--energy_function": [[0, "cmdoption-f"]], "--keep-sidechains": [[0, "cmdoption-k"]], "--no-disulfids": [[0, "cmdoption-n"]], "--no-subrotamer-optimization": [[0, "cmdoption-s"]], "--rigid-rotamers": [[0, "cmdoption-r"]], "-f": [[0, "cmdoption-f"]], "-i": [[0, "cmdoption-i"]], "-k": [[0, "cmdoption-k"]], "-n": [[0, "cmdoption-n"]], "-r": [[0, "cmdoption-r"]], "-s": [[0, "cmdoption-s"]], "command line option": [[0, "cmdoption-f"], [0, "cmdoption-i"], [0, "cmdoption-k"], [0, "cmdoption-n"], [0, "cmdoption-r"], [0, "cmdoption-s"]], "actiontestcase (class in test_actions)": [[1, "test_actions.ActionTestCase"]], "runaction() (test_actions.actiontestcase method)": [[1, "test_actions.ActionTestCase.RunAction"]], "runexitstatustest() (test_actions.actiontestcase method)": [[1, "test_actions.ActionTestCase.RunExitStatusTest"]], "module": [[1, "module-test_actions"], [4, "command:module"], [11, "module-promod3.core.helper"], [12, "module-promod3.core"], [13, "module-promod3.core.pm3argparse"], [23, "module-promod3.loop"], [30, "module-promod3.modelling"], [42, "module-promod3.scoring"], [47, "module-promod3.sidechain"]], "pm_action (test_actions.actiontestcase attribute)": [[1, "test_actions.ActionTestCase.pm_action"]], "pm_bin (test_actions.actiontestcase attribute)": [[1, "test_actions.ActionTestCase.pm_bin"]], "testpmexists() (test_actions.actiontestcase method)": [[1, "test_actions.ActionTestCase.testPMExists"]], "test_actions": [[1, "module-test_actions"]], "make targets": [[2, "index-0"]], "make check": [[2, "index-1"]], "make doc": [[2, "index-4"]], "make help": [[2, "index-5"]], "make html": [[2, "index-2"]], "make man": [[2, "index-3"]], "add_doc_dependency": [[4, "command:add_doc_dependency"]], "add_doc_source": [[4, "command:add_doc_source"], [4, "index-0-command:add_doc_source"], [4, "index-1-command:add_doc_source"]], "command": [[4, "command:add_doc_dependency"], [4, "command:add_doc_source"], [4, "command:convert_module_data"], [4, "command:module"], [4, "command:pm_action"], [4, "command:promod3_unittest"], [4, "command:pymod"], [4, "index-0-command:add_doc_source"], [4, "index-0-command:promod3_unittest"], [4, "index-1-command:add_doc_source"], [4, "index-1-command:promod3_unittest"], [8, "index-0-command:pm_action"]], "convert_module_data": [[4, "command:convert_module_data"]], "pm_action": [[4, "command:pm_action"], [8, "index-0-command:pm_action"]], "promod3_unittest": [[4, "command:promod3_unittest"], [4, "index-0-command:promod3_unittest"], [4, "index-1-command:promod3_unittest"]], "pymod": [[4, "command:pymod"]], "constructatompos() (in module promod3.core)": [[9, "promod3.core.ConstructAtomPos"]], "constructcbetapos() (in module promod3.core)": [[9, "promod3.core.ConstructCBetaPos"]], "constructcterminaloxygens() (in module promod3.core)": [[9, "promod3.core.ConstructCTerminalOxygens"]], "evaluategromacsposrule() (in module promod3.core)": [[9, "promod3.core.EvaluateGromacsPosRule"]], "rotationaroundline() (in module promod3.core)": [[9, "id0"], [9, "promod3.core.RotationAroundLine"]], "stemcoords (class in promod3.core)": [[9, "promod3.core.StemCoords"]], "stempairorientation (class in promod3.core)": [[9, "promod3.core.StemPairOrientation"]], "angle_four (promod3.core.stempairorientation attribute)": [[9, "promod3.core.StemPairOrientation.angle_four"]], "angle_one (promod3.core.stempairorientation attribute)": [[9, "promod3.core.StemPairOrientation.angle_one"]], "angle_three (promod3.core.stempairorientation attribute)": [[9, "promod3.core.StemPairOrientation.angle_three"]], "angle_two (promod3.core.stempairorientation attribute)": [[9, "promod3.core.StemPairOrientation.angle_two"]], "c_coord (promod3.core.stemcoords attribute)": [[9, "promod3.core.StemCoords.c_coord"]], "ca_coord (promod3.core.stemcoords attribute)": [[9, "promod3.core.StemCoords.ca_coord"]], "distance (promod3.core.stempairorientation attribute)": [[9, "promod3.core.StemPairOrientation.distance"]], "n_coord (promod3.core.stemcoords attribute)": [[9, "promod3.core.StemCoords.n_coord"]], "astarsolve() (promod3.core.graphminimizer method)": [[10, "promod3.core.GraphMinimizer.AStarSolve"]], "addedge() (promod3.core.graphminimizer method)": [[10, "promod3.core.GraphMinimizer.AddEdge"]], "addnode() (promod3.core.graphminimizer method)": [[10, "promod3.core.GraphMinimizer.AddNode"]], "applydee() (promod3.core.graphminimizer method)": [[10, "promod3.core.GraphMinimizer.ApplyDEE"]], "applyedgedecomposition() (promod3.core.graphminimizer method)": [[10, "promod3.core.GraphMinimizer.ApplyEdgeDecomposition"]], "graphminimizer (class in promod3.core)": [[10, "promod3.core.GraphMinimizer"]], "mcsolve() (promod3.core.graphminimizer method)": [[10, "promod3.core.GraphMinimizer.MCSolve"]], "naivesolve() (promod3.core.graphminimizer method)": [[10, "promod3.core.GraphMinimizer.NaiveSolve"]], "prune() (promod3.core.graphminimizer method)": [[10, "promod3.core.GraphMinimizer.Prune"]], "reset() (promod3.core.graphminimizer method)": [[10, "promod3.core.GraphMinimizer.Reset"]], "treesolve() (promod3.core.graphminimizer method)": [[10, "promod3.core.GraphMinimizer.TreeSolve"]], "fileexists() (in module promod3.core.helper)": [[11, "promod3.core.helper.FileExists"]], "fileextension() (in module promod3.core.helper)": [[11, "promod3.core.helper.FileExtension"]], "filegzip() (in module promod3.core.helper)": [[11, "promod3.core.helper.FileGzip"]], "msgerrorandexit() (in module promod3.core.helper)": [[11, "promod3.core.helper.MsgErrorAndExit"]], "promod3.core.helper": [[11, "module-promod3.core.helper"]], "promod3.core": [[12, "module-promod3.core"]], "addalignment() (promod3.core.pm3argparse.pm3argumentparser method)": [[13, "promod3.core.pm3argparse.PM3ArgumentParser.AddAlignment"]], "addfragments() (promod3.core.pm3argparse.pm3argumentparser method)": [[13, "promod3.core.pm3argparse.PM3ArgumentParser.AddFragments"]], "addprofile() (promod3.core.pm3argparse.pm3argumentparser method)": [[13, "promod3.core.pm3argparse.PM3ArgumentParser.AddProfile"]], "addstructure() (promod3.core.pm3argparse.pm3argumentparser method)": [[13, "promod3.core.pm3argparse.PM3ArgumentParser.AddStructure"]], "assembleparser() (promod3.core.pm3argparse.pm3argumentparser method)": [[13, "promod3.core.pm3argparse.PM3ArgumentParser.AssembleParser"]], "pm3argumentparser (class in promod3.core.pm3argparse)": [[13, "promod3.core.pm3argparse.PM3ArgumentParser"]], "parse() (promod3.core.pm3argparse.pm3argumentparser method)": [[13, "promod3.core.pm3argparse.PM3ArgumentParser.Parse"]], "__init__() (promod3.core.pm3argparse.pm3argumentparser method)": [[13, "promod3.core.pm3argparse.PM3ArgumentParser.__init__"]], "action (promod3.core.pm3argparse.pm3argumentparser attribute)": [[13, "promod3.core.pm3argparse.PM3ArgumentParser.action"]], "promod3.core.pm3argparse": [[13, "module-promod3.core.pm3argparse"]], "clear() (promod3.core.staticruntimeprofiler static method)": [[14, "promod3.core.StaticRuntimeProfiler.Clear"]], "isenabled() (promod3.core.staticruntimeprofiler static method)": [[14, "promod3.core.StaticRuntimeProfiler.IsEnabled"]], "printsummary() (promod3.core.staticruntimeprofiler static method)": [[14, "promod3.core.StaticRuntimeProfiler.PrintSummary"]], "start() (promod3.core.staticruntimeprofiler static method)": [[14, "promod3.core.StaticRuntimeProfiler.Start"]], "startscoped() (promod3.core.staticruntimeprofiler static method)": [[14, "promod3.core.StaticRuntimeProfiler.StartScoped"]], "staticruntimeprofiler (class in promod3.core)": [[14, "promod3.core.StaticRuntimeProfiler"]], "stop() (promod3.core.staticruntimeprofiler static method)": [[14, "promod3.core.StaticRuntimeProfiler.Stop"]], "setcompoundschemlib() (in module promod3)": [[15, "promod3.SetCompoundsChemlib"]], "allatomenv (class in promod3.loop)": [[21, "promod3.loop.AllAtomEnv"]], "allatomenvpositions (class in promod3.loop)": [[21, "promod3.loop.AllAtomEnvPositions"]], "allatompositions (class in promod3.loop)": [[21, "promod3.loop.AllAtomPositions"]], "allatompositions() (promod3.loop.allatompositions method)": [[21, "id0"], [21, "id1"], [21, "id2"], [21, "promod3.loop.AllAtomPositions.AllAtomPositions"]], "aminoacidatom (class in promod3.loop)": [[21, "promod3.loop.AminoAcidAtom"]], "aminoacidhydrogen (class in promod3.loop)": [[21, "promod3.loop.AminoAcidHydrogen"]], "aminoacidlookup (class in promod3.loop)": [[21, "promod3.loop.AminoAcidLookup"]], "clearenvironment() (promod3.loop.allatomenv method)": [[21, "promod3.loop.AllAtomEnv.ClearEnvironment"]], "clearpos() (promod3.loop.allatompositions method)": [[21, "promod3.loop.AllAtomPositions.ClearPos"]], "clearresidue() (promod3.loop.allatompositions method)": [[21, "promod3.loop.AllAtomPositions.ClearResidue"]], "copy() (promod3.loop.allatompositions method)": [[21, "promod3.loop.AllAtomPositions.Copy"]], "extract() (promod3.loop.allatompositions method)": [[21, "id4"], [21, "promod3.loop.AllAtomPositions.Extract"]], "extractbackbone() (promod3.loop.allatompositions method)": [[21, "promod3.loop.AllAtomPositions.ExtractBackbone"]], "getaa() (promod3.loop.allatompositions method)": [[21, "promod3.loop.AllAtomPositions.GetAA"]], "getaa() (promod3.loop.aminoacidlookup static method)": [[21, "promod3.loop.AminoAcidLookup.GetAA"]], "getaaa() (promod3.loop.aminoacidlookup static method)": [[21, "promod3.loop.AminoAcidLookup.GetAAA"]], "getaah() (promod3.loop.aminoacidlookup static method)": [[21, "promod3.loop.AminoAcidLookup.GetAAH"]], "getallatompositions() (promod3.loop.allatomenv method)": [[21, "promod3.loop.AllAtomEnv.GetAllAtomPositions"]], "getanchoratomindex() (promod3.loop.aminoacidlookup static method)": [[21, "promod3.loop.AminoAcidLookup.GetAnchorAtomIndex"]], "getatomname() (promod3.loop.aminoacidlookup static method)": [[21, "promod3.loop.AminoAcidLookup.GetAtomName"]], "getatomnameamber() (promod3.loop.aminoacidlookup static method)": [[21, "promod3.loop.AminoAcidLookup.GetAtomNameAmber"]], "getatomnamecharmm() (promod3.loop.aminoacidlookup static method)": [[21, "promod3.loop.AminoAcidLookup.GetAtomNameCharmm"]], "getelement() (promod3.loop.aminoacidlookup static method)": [[21, "promod3.loop.AminoAcidLookup.GetElement"]], "getenvironment() (promod3.loop.allatomenv method)": [[21, "promod3.loop.AllAtomEnv.GetEnvironment"]], "getfirstindex() (promod3.loop.allatompositions method)": [[21, "promod3.loop.AllAtomPositions.GetFirstIndex"]], "geth1index() (promod3.loop.aminoacidlookup static method)": [[21, "promod3.loop.AminoAcidLookup.GetH1Index"]], "geth2index() (promod3.loop.aminoacidlookup static method)": [[21, "promod3.loop.AminoAcidLookup.GetH2Index"]], "geth3index() (promod3.loop.aminoacidlookup static method)": [[21, "promod3.loop.AminoAcidLookup.GetH3Index"]], "gethnindex() (promod3.loop.aminoacidlookup static method)": [[21, "promod3.loop.AminoAcidLookup.GetHNIndex"]], "gethydrogenindex() (promod3.loop.aminoacidlookup static method)": [[21, "promod3.loop.AminoAcidLookup.GetHydrogenIndex"]], "getindex() (promod3.loop.allatompositions method)": [[21, "promod3.loop.AllAtomPositions.GetIndex"]], "getindex() (promod3.loop.aminoacidlookup static method)": [[21, "promod3.loop.AminoAcidLookup.GetIndex"]], "getlastindex() (promod3.loop.allatompositions method)": [[21, "promod3.loop.AllAtomPositions.GetLastIndex"]], "getmaxnumatoms() (promod3.loop.aminoacidlookup static method)": [[21, "promod3.loop.AminoAcidLookup.GetMaxNumAtoms"]], "getmaxnumhydrogens() (promod3.loop.aminoacidlookup static method)": [[21, "promod3.loop.AminoAcidLookup.GetMaxNumHydrogens"]], "getnumatoms() (promod3.loop.allatompositions method)": [[21, "promod3.loop.AllAtomPositions.GetNumAtoms"]], "getnumatoms() (promod3.loop.aminoacidlookup static method)": [[21, "promod3.loop.AminoAcidLookup.GetNumAtoms"]], "getnumhydrogens() (promod3.loop.aminoacidlookup static method)": [[21, "promod3.loop.AminoAcidLookup.GetNumHydrogens"]], "getnumresidues() (promod3.loop.allatompositions method)": [[21, "promod3.loop.AllAtomPositions.GetNumResidues"]], "getolc() (promod3.loop.aminoacidlookup static method)": [[21, "promod3.loop.AminoAcidLookup.GetOLC"]], "getomegatorsion() (promod3.loop.allatompositions method)": [[21, "promod3.loop.AllAtomPositions.GetOmegaTorsion"]], "getphitorsion() (promod3.loop.allatompositions method)": [[21, "promod3.loop.AllAtomPositions.GetPhiTorsion"]], "getpos() (promod3.loop.allatompositions method)": [[21, "promod3.loop.AllAtomPositions.GetPos"]], "getpsitorsion() (promod3.loop.allatompositions method)": [[21, "promod3.loop.AllAtomPositions.GetPsiTorsion"]], "getseqres() (promod3.loop.allatomenv method)": [[21, "promod3.loop.AllAtomEnv.GetSeqres"]], "getsequence() (promod3.loop.allatompositions method)": [[21, "promod3.loop.AllAtomPositions.GetSequence"]], "insertinto() (promod3.loop.allatompositions method)": [[21, "promod3.loop.AllAtomPositions.InsertInto"]], "isallset() (promod3.loop.allatompositions method)": [[21, "promod3.loop.AllAtomPositions.IsAllSet"]], "isanyset() (promod3.loop.allatompositions method)": [[21, "promod3.loop.AllAtomPositions.IsAnySet"]], "isset() (promod3.loop.allatompositions method)": [[21, "promod3.loop.AllAtomPositions.IsSet"]], "setenvironment() (promod3.loop.allatomenv method)": [[21, "promod3.loop.AllAtomEnv.SetEnvironment"]], "setinitialenvironment() (promod3.loop.allatomenv method)": [[21, "promod3.loop.AllAtomEnv.SetInitialEnvironment"]], "setpos() (promod3.loop.allatompositions method)": [[21, "promod3.loop.AllAtomPositions.SetPos"]], "setresidue() (promod3.loop.allatompositions method)": [[21, "id3"], [21, "promod3.loop.AllAtomPositions.SetResidue"]], "toentity() (promod3.loop.allatompositions method)": [[21, "promod3.loop.AllAtomPositions.ToEntity"]], "all_pos (promod3.loop.allatomenvpositions attribute)": [[21, "promod3.loop.AllAtomEnvPositions.all_pos"]], "res_indices (promod3.loop.allatomenvpositions attribute)": [[21, "promod3.loop.AllAtomEnvPositions.res_indices"]], "applytransform() (promod3.loop.backbonelist method)": [[22, "id5"], [22, "id6"], [22, "promod3.loop.BackboneList.ApplyTransform"]], "backbonelist (class in promod3.loop)": [[22, "promod3.loop.BackboneList"]], "backbonelist() (promod3.loop.backbonelist method)": [[22, "id0"], [22, "id1"], [22, "id2"], [22, "id3"], [22, "promod3.loop.BackboneList.BackboneList"]], "carmsd() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.CARMSD"]], "copy() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.Copy"]], "extract() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.Extract"]], "getaa() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.GetAA"]], "getbounds() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.GetBounds"]], "getc() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.GetC"]], "getca() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.GetCA"]], "getcb() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.GetCB"]], "getn() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.GetN"]], "geto() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.GetO"]], "getolc() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.GetOLC"]], "getomegatorsion() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.GetOmegaTorsion"]], "getphitorsion() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.GetPhiTorsion"]], "getpsitorsion() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.GetPsiTorsion"]], "getsequence() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.GetSequence"]], "gettransform() (promod3.loop.backbonelist method)": [[22, "id7"], [22, "promod3.loop.BackboneList.GetTransform"]], "insertinto() (promod3.loop.backbonelist method)": [[22, "id4"], [22, "promod3.loop.BackboneList.InsertInto"]], "mincadistance() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.MinCADistance"]], "rmsd() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.RMSD"]], "reconstructcbetapositions() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.ReconstructCBetaPositions"]], "reconstructcstemoxygen() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.ReconstructCStemOxygen"]], "reconstructoxygenpositions() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.ReconstructOxygenPositions"]], "replacefragment() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.ReplaceFragment"]], "rotatearoundomegatorsion() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.RotateAroundOmegaTorsion"]], "rotatearoundphipsitorsion() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.RotateAroundPhiPsiTorsion"]], "rotatearoundphitorsion() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.RotateAroundPhiTorsion"]], "rotatearoundpsitorsion() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.RotateAroundPsiTorsion"]], "set() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.Set"]], "setaa() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.SetAA"]], "setaroundomegatorsion() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.SetAroundOmegaTorsion"]], "setaroundphipsitorsion() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.SetAroundPhiPsiTorsion"]], "setaroundphitorsion() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.SetAroundPhiTorsion"]], "setaroundpsitorsion() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.SetAroundPsiTorsion"]], "setbackrub() (promod3.loop.backbonelist method)": [[22, "id9"], [22, "promod3.loop.BackboneList.SetBackrub"]], "setc() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.SetC"]], "setca() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.SetCA"]], "setcb() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.SetCB"]], "setn() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.SetN"]], "seto() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.SetO"]], "setolc() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.SetOLC"]], "setsequence() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.SetSequence"]], "superposeonto() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.SuperposeOnto"]], "todensity() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.ToDensity"]], "toentity() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.ToEntity"]], "transomegatorsions() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.TransOmegaTorsions"]], "__len__() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.__len__"]], "append() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.append"]], "clear() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.clear"]], "empty() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.empty"]], "resize() (promod3.loop.backbonelist method)": [[22, "promod3.loop.BackboneList.resize"]], "promod3.loop": [[23, "module-promod3.loop"]], "loadfragdb() (in module promod3.loop)": [[24, "promod3.loop.LoadFragDB"]], "loadstructuredb() (in module promod3.loop)": [[24, "promod3.loop.LoadStructureDB"]], "loadtorsionsampler() (in module promod3.loop)": [[24, "promod3.loop.LoadTorsionSampler"]], "loadtorsionsamplercoil() (in module promod3.loop)": [[24, "promod3.loop.LoadTorsionSamplerCoil"]], "loadtorsionsamplerextended() (in module promod3.loop)": [[24, "promod3.loop.LoadTorsionSamplerExtended"]], "loadtorsionsamplerhelical() (in module promod3.loop)": [[24, "promod3.loop.LoadTorsionSamplerHelical"]], "extractlooppositions() (promod3.loop.mmsystemcreator method)": [[25, "promod3.loop.MmSystemCreator.ExtractLoopPositions"]], "forcefieldaminoacid (class in promod3.loop)": [[25, "promod3.loop.ForcefieldAminoAcid"]], "forcefieldbondinfo (class in promod3.loop)": [[25, "promod3.loop.ForcefieldBondInfo"]], "forcefieldconnectivity (class in promod3.loop)": [[25, "promod3.loop.ForcefieldConnectivity"]], "forcefieldharmonicangleinfo (class in promod3.loop)": [[25, "promod3.loop.ForcefieldHarmonicAngleInfo"]], "forcefieldharmonicimproperinfo (class in promod3.loop)": [[25, "promod3.loop.ForcefieldHarmonicImproperInfo"]], "forcefieldljpairinfo (class in promod3.loop)": [[25, "promod3.loop.ForcefieldLJPairInfo"]], "forcefieldlookup (class in promod3.loop)": [[25, "promod3.loop.ForcefieldLookup"]], "forcefieldperiodicdihedralinfo (class in promod3.loop)": [[25, "promod3.loop.ForcefieldPeriodicDihedralInfo"]], "forcefieldureybradleyangleinfo (class in promod3.loop)": [[25, "promod3.loop.ForcefieldUreyBradleyAngleInfo"]], "getaa() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.GetAA"]], "getcharges() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.GetCharges"]], "getcpuplatformsupport() (promod3.loop.mmsystemcreator method)": [[25, "promod3.loop.MmSystemCreator.GetCpuPlatformSupport"]], "getdefault() (promod3.loop.forcefieldlookup static method)": [[25, "promod3.loop.ForcefieldLookup.GetDefault"]], "getdisulfidbridges() (promod3.loop.mmsystemcreator method)": [[25, "promod3.loop.MmSystemCreator.GetDisulfidBridges"]], "getdisulfidconnectivity() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.GetDisulfidConnectivity"]], "getepsilons() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.GetEpsilons"]], "getforcefieldaminoacids() (promod3.loop.mmsystemcreator method)": [[25, "promod3.loop.MmSystemCreator.GetForcefieldAminoAcids"]], "getfudgelj() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.GetFudgeLJ"]], "getfudgeqq() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.GetFudgeQQ"]], "getheavyindex() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.GetHeavyIndex"]], "gethydrogenindex() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.GetHydrogenIndex"]], "getindexing() (promod3.loop.mmsystemcreator method)": [[25, "promod3.loop.MmSystemCreator.GetIndexing"]], "getinternalconnectivity() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.GetInternalConnectivity"]], "getlooplengths() (promod3.loop.mmsystemcreator method)": [[25, "promod3.loop.MmSystemCreator.GetLoopLengths"]], "getloopstartindices() (promod3.loop.mmsystemcreator method)": [[25, "promod3.loop.MmSystemCreator.GetLoopStartIndices"]], "getmasses() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.GetMasses"]], "getnumatoms() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.GetNumAtoms"]], "getnumloopresidues() (promod3.loop.mmsystemcreator method)": [[25, "promod3.loop.MmSystemCreator.GetNumLoopResidues"]], "getnumresidues() (promod3.loop.mmsystemcreator method)": [[25, "promod3.loop.MmSystemCreator.GetNumResidues"]], "getoxtindex() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.GetOXTIndex"]], "getpeptideboundconnectivity() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.GetPeptideBoundConnectivity"]], "getsigmas() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.GetSigmas"]], "getsimulation() (promod3.loop.mmsystemcreator method)": [[25, "promod3.loop.MmSystemCreator.GetSimulation"]], "load() (promod3.loop.forcefieldlookup static method)": [[25, "promod3.loop.ForcefieldLookup.Load"]], "loadcharmm() (promod3.loop.forcefieldlookup static method)": [[25, "promod3.loop.ForcefieldLookup.LoadCHARMM"]], "loadportable() (promod3.loop.forcefieldlookup static method)": [[25, "promod3.loop.ForcefieldLookup.LoadPortable"]], "mmsystemcreator (class in promod3.loop)": [[25, "promod3.loop.MmSystemCreator"]], "save() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.Save"]], "saveportable() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.SavePortable"]], "setcharges() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.SetCharges"]], "setcpuplatformsupport() (promod3.loop.mmsystemcreator method)": [[25, "promod3.loop.MmSystemCreator.SetCpuPlatformSupport"]], "setdefault() (promod3.loop.forcefieldlookup static method)": [[25, "promod3.loop.ForcefieldLookup.SetDefault"]], "setdisulfidconnectivity() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.SetDisulfidConnectivity"]], "setepsilons() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.SetEpsilons"]], "setfudgelj() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.SetFudgeLJ"]], "setfudgeqq() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.SetFudgeQQ"]], "setinternalconnectivity() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.SetInternalConnectivity"]], "setmasses() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.SetMasses"]], "setpeptideboundconnectivity() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.SetPeptideBoundConnectivity"]], "setsigmas() (promod3.loop.forcefieldlookup method)": [[25, "promod3.loop.ForcefieldLookup.SetSigmas"]], "setupsystem() (promod3.loop.mmsystemcreator method)": [[25, "promod3.loop.MmSystemCreator.SetupSystem"]], "updatepositions() (promod3.loop.mmsystemcreator method)": [[25, "promod3.loop.MmSystemCreator.UpdatePositions"]], "angle (promod3.loop.forcefieldharmonicangleinfo attribute)": [[25, "promod3.loop.ForcefieldHarmonicAngleInfo.angle"]], "angle (promod3.loop.forcefieldharmonicimproperinfo attribute)": [[25, "promod3.loop.ForcefieldHarmonicImproperInfo.angle"]], "angle (promod3.loop.forcefieldureybradleyangleinfo attribute)": [[25, "promod3.loop.ForcefieldUreyBradleyAngleInfo.angle"]], "angle_force_constant (promod3.loop.forcefieldureybradleyangleinfo attribute)": [[25, "promod3.loop.ForcefieldUreyBradleyAngleInfo.angle_force_constant"]], "bond_force_constant (promod3.loop.forcefieldureybradleyangleinfo attribute)": [[25, "promod3.loop.ForcefieldUreyBradleyAngleInfo.bond_force_constant"]], "bond_length (promod3.loop.forcefieldbondinfo attribute)": [[25, "promod3.loop.ForcefieldBondInfo.bond_length"]], "bond_length (promod3.loop.forcefieldureybradleyangleinfo attribute)": [[25, "promod3.loop.ForcefieldUreyBradleyAngleInfo.bond_length"]], "epsilon (promod3.loop.forcefieldljpairinfo attribute)": [[25, "promod3.loop.ForcefieldLJPairInfo.epsilon"]], "force_constant (promod3.loop.forcefieldbondinfo attribute)": [[25, "promod3.loop.ForcefieldBondInfo.force_constant"]], "force_constant (promod3.loop.forcefieldharmonicangleinfo attribute)": [[25, "promod3.loop.ForcefieldHarmonicAngleInfo.force_constant"]], "force_constant (promod3.loop.forcefieldharmonicimproperinfo attribute)": [[25, "promod3.loop.ForcefieldHarmonicImproperInfo.force_constant"]], "force_constant (promod3.loop.forcefieldperiodicdihedralinfo attribute)": [[25, "promod3.loop.ForcefieldPeriodicDihedralInfo.force_constant"]], "harmonic_angles (promod3.loop.forcefieldconnectivity attribute)": [[25, "promod3.loop.ForcefieldConnectivity.harmonic_angles"]], "harmonic_bonds (promod3.loop.forcefieldconnectivity attribute)": [[25, "promod3.loop.ForcefieldConnectivity.harmonic_bonds"]], "harmonic_impropers (promod3.loop.forcefieldconnectivity attribute)": [[25, "promod3.loop.ForcefieldConnectivity.harmonic_impropers"]], "index_four (promod3.loop.forcefieldharmonicimproperinfo attribute)": [[25, "promod3.loop.ForcefieldHarmonicImproperInfo.index_four"]], "index_four (promod3.loop.forcefieldperiodicdihedralinfo attribute)": [[25, "promod3.loop.ForcefieldPeriodicDihedralInfo.index_four"]], "index_one (promod3.loop.forcefieldbondinfo attribute)": [[25, "promod3.loop.ForcefieldBondInfo.index_one"]], "index_one (promod3.loop.forcefieldharmonicangleinfo attribute)": [[25, "promod3.loop.ForcefieldHarmonicAngleInfo.index_one"]], "index_one (promod3.loop.forcefieldharmonicimproperinfo attribute)": [[25, "promod3.loop.ForcefieldHarmonicImproperInfo.index_one"]], "index_one (promod3.loop.forcefieldljpairinfo attribute)": [[25, "promod3.loop.ForcefieldLJPairInfo.index_one"]], "index_one (promod3.loop.forcefieldperiodicdihedralinfo attribute)": [[25, "promod3.loop.ForcefieldPeriodicDihedralInfo.index_one"]], "index_one (promod3.loop.forcefieldureybradleyangleinfo attribute)": [[25, "promod3.loop.ForcefieldUreyBradleyAngleInfo.index_one"]], "index_three (promod3.loop.forcefieldharmonicangleinfo attribute)": [[25, "promod3.loop.ForcefieldHarmonicAngleInfo.index_three"]], "index_three (promod3.loop.forcefieldharmonicimproperinfo attribute)": [[25, "promod3.loop.ForcefieldHarmonicImproperInfo.index_three"]], "index_three (promod3.loop.forcefieldperiodicdihedralinfo attribute)": [[25, "promod3.loop.ForcefieldPeriodicDihedralInfo.index_three"]], "index_three (promod3.loop.forcefieldureybradleyangleinfo attribute)": [[25, "promod3.loop.ForcefieldUreyBradleyAngleInfo.index_three"]], "index_two (promod3.loop.forcefieldbondinfo attribute)": [[25, "promod3.loop.ForcefieldBondInfo.index_two"]], "index_two (promod3.loop.forcefieldharmonicangleinfo attribute)": [[25, "promod3.loop.ForcefieldHarmonicAngleInfo.index_two"]], "index_two (promod3.loop.forcefieldharmonicimproperinfo attribute)": [[25, "promod3.loop.ForcefieldHarmonicImproperInfo.index_two"]], "index_two (promod3.loop.forcefieldljpairinfo attribute)": [[25, "promod3.loop.ForcefieldLJPairInfo.index_two"]], "index_two (promod3.loop.forcefieldperiodicdihedralinfo attribute)": [[25, "promod3.loop.ForcefieldPeriodicDihedralInfo.index_two"]], "index_two (promod3.loop.forcefieldureybradleyangleinfo attribute)": [[25, "promod3.loop.ForcefieldUreyBradleyAngleInfo.index_two"]], "lj_pairs (promod3.loop.forcefieldconnectivity attribute)": [[25, "promod3.loop.ForcefieldConnectivity.lj_pairs"]], "multiplicity (promod3.loop.forcefieldperiodicdihedralinfo attribute)": [[25, "promod3.loop.ForcefieldPeriodicDihedralInfo.multiplicity"]], "periodic_dihedrals (promod3.loop.forcefieldconnectivity attribute)": [[25, "promod3.loop.ForcefieldConnectivity.periodic_dihedrals"]], "periodic_impropers (promod3.loop.forcefieldconnectivity attribute)": [[25, "promod3.loop.ForcefieldConnectivity.periodic_impropers"]], "phase (promod3.loop.forcefieldperiodicdihedralinfo attribute)": [[25, "promod3.loop.ForcefieldPeriodicDihedralInfo.phase"]], "sigma (promod3.loop.forcefieldljpairinfo attribute)": [[25, "promod3.loop.ForcefieldLJPairInfo.sigma"]], "urey_bradley_angles (promod3.loop.forcefieldconnectivity attribute)": [[25, "promod3.loop.ForcefieldConnectivity.urey_bradley_angles"]], "add() (promod3.loop.psipredprediction method)": [[26, "promod3.loop.PsipredPrediction.Add"]], "addcoordinates() (promod3.loop.structuredb method)": [[26, "promod3.loop.StructureDB.AddCoordinates"]], "addfragments() (promod3.loop.fragdb method)": [[26, "promod3.loop.FragDB.AddFragments"]], "addssagreeparameters() (promod3.loop.fragger method)": [[26, "promod3.loop.Fragger.AddSSAgreeParameters"]], "addseqidparameters() (promod3.loop.fragger method)": [[26, "promod3.loop.Fragger.AddSeqIDParameters"]], "addseqsimparameters() (promod3.loop.fragger method)": [[26, "promod3.loop.Fragger.AddSeqSimParameters"]], "addsequenceprofileparameters() (promod3.loop.fragger method)": [[26, "promod3.loop.Fragger.AddSequenceProfileParameters"]], "addstructureprofileparameters() (promod3.loop.fragger method)": [[26, "promod3.loop.Fragger.AddStructureProfileParameters"]], "addtorsionprobabilityparameters() (promod3.loop.fragger method)": [[26, "promod3.loop.Fragger.AddTorsionProbabilityParameters"]], "contains() (promod3.loop.fraggermap method)": [[26, "promod3.loop.FraggerMap.Contains"]], "coordinfo (class in promod3.loop)": [[26, "promod3.loop.CoordInfo"]], "extract() (promod3.loop.psipredprediction method)": [[26, "promod3.loop.PsipredPrediction.Extract"]], "fill() (promod3.loop.fragger method)": [[26, "promod3.loop.Fragger.Fill"]], "fragdb (class in promod3.loop)": [[26, "promod3.loop.FragDB"]], "fragger (class in promod3.loop)": [[26, "promod3.loop.Fragger"]], "fraggermap (class in promod3.loop)": [[26, "promod3.loop.FraggerMap"]], "fragmentinfo (class in promod3.loop)": [[26, "promod3.loop.FragmentInfo"]], "fromhhm() (promod3.loop.psipredprediction method)": [[26, "promod3.loop.PsipredPrediction.FromHHM"]], "fromhoriz() (promod3.loop.psipredprediction method)": [[26, "promod3.loop.PsipredPrediction.FromHoriz"]], "generatestructureprofile() (promod3.loop.structuredb method)": [[26, "promod3.loop.StructureDB.GenerateStructureProfile"]], "getangularbinsize() (promod3.loop.fragdb method)": [[26, "promod3.loop.FragDB.GetAngularBinSize"]], "getbackbonelist() (promod3.loop.structuredb method)": [[26, "promod3.loop.StructureDB.GetBackboneList"]], "getconfidence() (promod3.loop.psipredprediction method)": [[26, "promod3.loop.PsipredPrediction.GetConfidence"]], "getconfidences() (promod3.loop.psipredprediction method)": [[26, "promod3.loop.PsipredPrediction.GetConfidences"]], "getcoordidx() (promod3.loop.structuredb method)": [[26, "promod3.loop.StructureDB.GetCoordIdx"]], "getcoordinfo() (promod3.loop.structuredb method)": [[26, "promod3.loop.StructureDB.GetCoordInfo"]], "getdsspstates() (promod3.loop.structuredb method)": [[26, "promod3.loop.StructureDB.GetDSSPStates"]], "getdihedralangles() (promod3.loop.structuredb method)": [[26, "promod3.loop.StructureDB.GetDihedralAngles"]], "getdistbinsize() (promod3.loop.fragdb method)": [[26, "promod3.loop.FragDB.GetDistBinSize"]], "getfragmentinfo() (promod3.loop.fragger method)": [[26, "promod3.loop.Fragger.GetFragmentInfo"]], "getnumcoords() (promod3.loop.structuredb method)": [[26, "promod3.loop.StructureDB.GetNumCoords"]], "getnumfragments() (promod3.loop.fragdb method)": [[26, "promod3.loop.FragDB.GetNumFragments"]], "getnumstempairs() (promod3.loop.fragdb method)": [[26, "promod3.loop.FragDB.GetNumStemPairs"]], "getprediction() (promod3.loop.psipredprediction method)": [[26, "promod3.loop.PsipredPrediction.GetPrediction"]], "getpredictions() (promod3.loop.psipredprediction method)": [[26, "promod3.loop.PsipredPrediction.GetPredictions"]], "getresiduedepths() (promod3.loop.structuredb method)": [[26, "promod3.loop.StructureDB.GetResidueDepths"]], "getscore() (promod3.loop.fragger method)": [[26, "id0"], [26, "promod3.loop.Fragger.GetScore"]], "getsequence() (promod3.loop.structuredb method)": [[26, "promod3.loop.StructureDB.GetSequence"]], "getsequenceprofile() (promod3.loop.structuredb method)": [[26, "promod3.loop.StructureDB.GetSequenceProfile"]], "getsolventaccessibilitites() (promod3.loop.structuredb method)": [[26, "promod3.loop.StructureDB.GetSolventAccessibilitites"]], "getstructureprofile() (promod3.loop.structuredb method)": [[26, "promod3.loop.StructureDB.GetStructureProfile"]], "getsubdb() (promod3.loop.structuredb method)": [[26, "promod3.loop.StructureDB.GetSubDB"]], "hasdata() (promod3.loop.structuredb method)": [[26, "promod3.loop.StructureDB.HasData"]], "hasfraglength() (promod3.loop.fragdb method)": [[26, "promod3.loop.FragDB.HasFragLength"]], "load() (promod3.loop.fragdb static method)": [[26, "promod3.loop.FragDB.Load"]], "load() (promod3.loop.fraggermap method)": [[26, "promod3.loop.FraggerMap.Load"]], "load() (promod3.loop.structuredb static method)": [[26, "promod3.loop.StructureDB.Load"]], "loadbb() (promod3.loop.fraggermap method)": [[26, "promod3.loop.FraggerMap.LoadBB"]], "loadportable() (promod3.loop.fragdb static method)": [[26, "promod3.loop.FragDB.LoadPortable"]], "loadportable() (promod3.loop.structuredb static method)": [[26, "promod3.loop.StructureDB.LoadPortable"]], "maxfraglength() (promod3.loop.fragdb method)": [[26, "promod3.loop.FragDB.MaxFragLength"]], "printstatistics() (promod3.loop.fragdb method)": [[26, "promod3.loop.FragDB.PrintStatistics"]], "printstatistics() (promod3.loop.structuredb method)": [[26, "promod3.loop.StructureDB.PrintStatistics"]], "psipredprediction (class in promod3.loop)": [[26, "promod3.loop.PsipredPrediction"]], "psipredprediction() (promod3.loop.psipredprediction method)": [[26, "id7"], [26, "promod3.loop.PsipredPrediction.PsipredPrediction"]], "removecoordinates() (promod3.loop.structuredb method)": [[26, "promod3.loop.StructureDB.RemoveCoordinates"]], "save() (promod3.loop.fragdb method)": [[26, "promod3.loop.FragDB.Save"]], "save() (promod3.loop.fraggermap method)": [[26, "promod3.loop.FraggerMap.Save"]], "save() (promod3.loop.structuredb method)": [[26, "promod3.loop.StructureDB.Save"]], "savebb() (promod3.loop.fraggermap method)": [[26, "promod3.loop.FraggerMap.SaveBB"]], "saveportable() (promod3.loop.fragdb method)": [[26, "promod3.loop.FragDB.SavePortable"]], "saveportable() (promod3.loop.structuredb method)": [[26, "promod3.loop.StructureDB.SavePortable"]], "searchdb() (promod3.loop.fragdb method)": [[26, "promod3.loop.FragDB.SearchDB"]], "setstructureprofile() (promod3.loop.structuredb method)": [[26, "promod3.loop.StructureDB.SetStructureProfile"]], "structuredb (class in promod3.loop)": [[26, "promod3.loop.StructureDB"]], "structuredbdatatype (class in promod3.loop)": [[26, "promod3.loop.StructureDBDataType"]], "__getitem__() (promod3.loop.fragger method)": [[26, "promod3.loop.Fragger.__getitem__"]], "__getitem__() (promod3.loop.fraggermap method)": [[26, "promod3.loop.FraggerMap.__getitem__"]], "__len__() (promod3.loop.fragger method)": [[26, "promod3.loop.Fragger.__len__"]], "__len__() (promod3.loop.psipredprediction method)": [[26, "promod3.loop.PsipredPrediction.__len__"]], "__setitem__() (promod3.loop.fraggermap method)": [[26, "promod3.loop.FraggerMap.__setitem__"]], "chain_index (promod3.loop.fragmentinfo attribute)": [[26, "promod3.loop.FragmentInfo.chain_index"]], "chain_name (promod3.loop.coordinfo attribute)": [[26, "promod3.loop.CoordInfo.chain_name"]], "id (promod3.loop.coordinfo attribute)": [[26, "promod3.loop.CoordInfo.id"]], "length (promod3.loop.fragmentinfo attribute)": [[26, "promod3.loop.FragmentInfo.length"]], "offset (promod3.loop.coordinfo attribute)": [[26, "promod3.loop.CoordInfo.offset"]], "offset (promod3.loop.fragmentinfo attribute)": [[26, "promod3.loop.FragmentInfo.offset"]], "shift (promod3.loop.coordinfo attribute)": [[26, "promod3.loop.CoordInfo.shift"]], "size (promod3.loop.coordinfo attribute)": [[26, "promod3.loop.CoordInfo.size"]], "start_resnum (promod3.loop.coordinfo attribute)": [[26, "promod3.loop.CoordInfo.start_resnum"]], "draw() (promod3.loop.torsionsampler method)": [[27, "id0"], [27, "promod3.loop.TorsionSampler.Draw"]], "drawphigivenpsi() (promod3.loop.torsionsampler method)": [[27, "id1"], [27, "promod3.loop.TorsionSampler.DrawPhiGivenPsi"]], "drawpsigivenphi() (promod3.loop.torsionsampler method)": [[27, "id2"], [27, "promod3.loop.TorsionSampler.DrawPsiGivenPhi"]], "extractstatistics() (promod3.loop.torsionsampler method)": [[27, "promod3.loop.TorsionSampler.ExtractStatistics"]], "getbinsize() (promod3.loop.torsionsampler method)": [[27, "promod3.loop.TorsionSampler.GetBinSize"]], "getbinsperdimension() (promod3.loop.torsionsampler method)": [[27, "promod3.loop.TorsionSampler.GetBinsPerDimension"]], "gethistogramindex() (promod3.loop.torsionsampler method)": [[27, "promod3.loop.TorsionSampler.GetHistogramIndex"]], "gethistogramindices() (promod3.loop.torsionsampler method)": [[27, "promod3.loop.TorsionSampler.GetHistogramIndices"]], "getphiprobabilitygivenpsi() (promod3.loop.torsionsampler method)": [[27, "id4"], [27, "promod3.loop.TorsionSampler.GetPhiProbabilityGivenPsi"]], "getprobability() (promod3.loop.torsionsampler method)": [[27, "id3"], [27, "promod3.loop.TorsionSampler.GetProbability"]], "getpsiprobabilitygivenphi() (promod3.loop.torsionsampler method)": [[27, "id5"], [27, "promod3.loop.TorsionSampler.GetPsiProbabilityGivenPhi"]], "load() (promod3.loop.torsionsampler static method)": [[27, "promod3.loop.TorsionSampler.Load"]], "loadportable() (promod3.loop.torsionsampler static method)": [[27, "promod3.loop.TorsionSampler.LoadPortable"]], "save() (promod3.loop.torsionsampler method)": [[27, "promod3.loop.TorsionSampler.Save"]], "saveportable() (promod3.loop.torsionsampler method)": [[27, "promod3.loop.TorsionSampler.SavePortable"]], "torsionsampler (class in promod3.loop)": [[27, "promod3.loop.TorsionSampler"]], "updatedistributions() (promod3.loop.torsionsampler method)": [[27, "promod3.loop.TorsionSampler.UpdateDistributions"]], "afdbmodel() (in module promod3.modelling)": [[28, "promod3.modelling.AFDBModel"]], "afdbtplsearch() (in module promod3.modelling)": [[28, "promod3.modelling.AFDBTPLSearch"]], "fsstructureserver (class in promod3.modelling)": [[28, "promod3.modelling.FSStructureServer"]], "findmotifs() (in module promod3.modelling)": [[28, "promod3.modelling.FindMotifs"]], "fraggerhandle (class in promod3.modelling)": [[28, "promod3.modelling.FraggerHandle"]], "fromdatachunks() (promod3.modelling.fsstructureserver static method)": [[28, "promod3.modelling.FSStructureServer.FromDataChunks"]], "fromseqlist() (promod3.modelling.pentamatch static method)": [[28, "promod3.modelling.PentaMatch.FromSeqList"]], "generatedenovotrajectories() (in module promod3.modelling)": [[28, "promod3.modelling.GenerateDeNovoTrajectories"]], "get() (promod3.modelling.fraggerhandle method)": [[28, "promod3.modelling.FraggerHandle.Get"]], "getidentifiers() (promod3.modelling.motifquery method)": [[28, "promod3.modelling.MotifQuery.GetIdentifiers"]], "getidx() (promod3.modelling.fsstructureserver method)": [[28, "promod3.modelling.FSStructureServer.GetIdx"]], "getlist() (promod3.modelling.fraggerhandle method)": [[28, "promod3.modelling.FraggerHandle.GetList"]], "getn() (promod3.modelling.motifquery method)": [[28, "promod3.modelling.MotifQuery.GetN"]], "getomf() (promod3.modelling.fsstructureserver method)": [[28, "promod3.modelling.FSStructureServer.GetOMF"]], "getomfbyidx() (promod3.modelling.fsstructureserver method)": [[28, "promod3.modelling.FSStructureServer.GetOMFByIdx"]], "getomfbyplc() (promod3.modelling.fsstructureserver method)": [[28, "promod3.modelling.FSStructureServer.GetOMFByPLC"]], "getpositions() (promod3.modelling.motifquery method)": [[28, "promod3.modelling.MotifQuery.GetPositions"]], "load() (promod3.modelling.motifquery static method)": [[28, "promod3.modelling.MotifQuery.Load"]], "loadcached() (promod3.modelling.fraggerhandle method)": [[28, "promod3.modelling.FraggerHandle.LoadCached"]], "motifmatch (class in promod3.modelling)": [[28, "promod3.modelling.MotifMatch"]], "motifquery (class in promod3.modelling)": [[28, "promod3.modelling.MotifQuery"]], "n (promod3.modelling.pentamatch property)": [[28, "promod3.modelling.PentaMatch.N"]], "pentamatch (class in promod3.modelling)": [[28, "promod3.modelling.PentaMatch"]], "rigidblocks() (in module promod3.modelling)": [[28, "id0"], [28, "id1"], [28, "promod3.modelling.RigidBlocks"]], "save() (promod3.modelling.motifquery method)": [[28, "promod3.modelling.MotifQuery.Save"]], "savecached() (promod3.modelling.fraggerhandle method)": [[28, "promod3.modelling.FraggerHandle.SaveCached"]], "topn() (promod3.modelling.pentamatch method)": [[28, "promod3.modelling.PentaMatch.TopN"]], "alignment (promod3.modelling.motifmatch attribute)": [[28, "promod3.modelling.MotifMatch.alignment"]], "chunk (promod3.modelling.fsstructureserver property)": [[28, "promod3.modelling.FSStructureServer.chunk"]], "data (promod3.modelling.fsstructureserver property)": [[28, "promod3.modelling.FSStructureServer.data"]], "indexer (promod3.modelling.fsstructureserver property)": [[28, "promod3.modelling.FSStructureServer.indexer"]], "indexer (promod3.modelling.pentamatch property)": [[28, "promod3.modelling.PentaMatch.indexer"]], "length (promod3.modelling.fsstructureserver property)": [[28, "promod3.modelling.FSStructureServer.length"]], "length (promod3.modelling.pentamatch property)": [[28, "promod3.modelling.PentaMatch.length"]], "mat (promod3.modelling.motifmatch attribute)": [[28, "promod3.modelling.MotifMatch.mat"]], "n_entries (promod3.modelling.fsstructureserver property)": [[28, "promod3.modelling.FSStructureServer.n_entries"]], "pos (promod3.modelling.fsstructureserver property)": [[28, "promod3.modelling.FSStructureServer.pos"]], "pos (promod3.modelling.pentamatch property)": [[28, "promod3.modelling.PentaMatch.pos"]], "query_idx (promod3.modelling.motifmatch attribute)": [[28, "promod3.modelling.MotifMatch.query_idx"]], "search_keys (promod3.modelling.fsstructureserver property)": [[28, "promod3.modelling.FSStructureServer.search_keys"]], "cleargaps() (in module promod3.modelling)": [[29, "promod3.modelling.ClearGaps"]], "copy() (promod3.modelling.structuralgap method)": [[29, "promod3.modelling.StructuralGap.Copy"]], "countenclosedgaps() (in module promod3.modelling)": [[29, "promod3.modelling.CountEnclosedGaps"]], "countenclosedinsertions() (in module promod3.modelling)": [[29, "promod3.modelling.CountEnclosedInsertions"]], "extend() (promod3.modelling.fullgapextender method)": [[29, "promod3.modelling.FullGapExtender.Extend"]], "extend() (promod3.modelling.gapextender method)": [[29, "promod3.modelling.GapExtender.Extend"]], "extend() (promod3.modelling.scoringgapextender method)": [[29, "promod3.modelling.ScoringGapExtender.Extend"]], "extend() (promod3.modelling.shiftextension method)": [[29, "promod3.modelling.ShiftExtension.Extend"]], "extendatcterm() (promod3.modelling.structuralgap method)": [[29, "promod3.modelling.StructuralGap.ExtendAtCTerm"]], "extendatnterm() (promod3.modelling.structuralgap method)": [[29, "promod3.modelling.StructuralGap.ExtendAtNTerm"]], "fullgapextender (class in promod3.modelling)": [[29, "promod3.modelling.FullGapExtender"]], "gapextender (class in promod3.modelling)": [[29, "promod3.modelling.GapExtender"]], "getchain() (promod3.modelling.structuralgap method)": [[29, "promod3.modelling.StructuralGap.GetChain"]], "getchainindex() (promod3.modelling.structuralgap method)": [[29, "promod3.modelling.StructuralGap.GetChainIndex"]], "getchainname() (promod3.modelling.structuralgap method)": [[29, "promod3.modelling.StructuralGap.GetChainName"]], "getlength() (promod3.modelling.structuralgap method)": [[29, "promod3.modelling.StructuralGap.GetLength"]], "insertloopcleargaps() (in module promod3.modelling)": [[29, "promod3.modelling.InsertLoopClearGaps"]], "iscterminal() (promod3.modelling.structuralgap method)": [[29, "promod3.modelling.StructuralGap.IsCTerminal"]], "isnterminal() (promod3.modelling.structuralgap method)": [[29, "promod3.modelling.StructuralGap.IsNTerminal"]], "isterminal() (promod3.modelling.structuralgap method)": [[29, "promod3.modelling.StructuralGap.IsTerminal"]], "mergegaps() (in module promod3.modelling)": [[29, "promod3.modelling.MergeGaps"]], "scoringgapextender (class in promod3.modelling)": [[29, "promod3.modelling.ScoringGapExtender"]], "shiftcterminal() (promod3.modelling.structuralgap method)": [[29, "promod3.modelling.StructuralGap.ShiftCTerminal"]], "shiftextension (class in promod3.modelling)": [[29, "promod3.modelling.ShiftExtension"]], "structuralgap (class in promod3.modelling)": [[29, "promod3.modelling.StructuralGap"]], "structuralgaplist (class in promod3.modelling)": [[29, "promod3.modelling.StructuralGapList"]], "after (promod3.modelling.structuralgap attribute)": [[29, "promod3.modelling.StructuralGap.after"]], "before (promod3.modelling.structuralgap attribute)": [[29, "promod3.modelling.StructuralGap.before"]], "full_seq (promod3.modelling.structuralgap attribute)": [[29, "promod3.modelling.StructuralGap.full_seq"]], "length (promod3.modelling.structuralgap attribute)": [[29, "promod3.modelling.StructuralGap.length"]], "seq (promod3.modelling.structuralgap attribute)": [[29, "promod3.modelling.StructuralGap.seq"]], "promod3.modelling": [[30, "module-promod3.modelling"]], "add() (promod3.modelling.loopcandidates method)": [[31, "promod3.modelling.LoopCandidates.Add"]], "addfragmentinfo() (promod3.modelling.loopcandidates method)": [[31, "promod3.modelling.LoopCandidates.AddFragmentInfo"]], "applyccd() (promod3.modelling.loopcandidates method)": [[31, "promod3.modelling.LoopCandidates.ApplyCCD"]], "applykic() (promod3.modelling.loopcandidates method)": [[31, "promod3.modelling.LoopCandidates.ApplyKIC"]], "calculateallatomscores() (promod3.modelling.loopcandidates method)": [[31, "promod3.modelling.LoopCandidates.CalculateAllAtomScores"]], "calculatebackbonescores() (promod3.modelling.loopcandidates method)": [[31, "promod3.modelling.LoopCandidates.CalculateBackboneScores"]], "calculatesequenceprofilescores() (promod3.modelling.loopcandidates method)": [[31, "id0"], [31, "promod3.modelling.LoopCandidates.CalculateSequenceProfileScores"]], "calculatestemrmsds() (promod3.modelling.loopcandidates method)": [[31, "id2"], [31, "promod3.modelling.LoopCandidates.CalculateStemRMSDs"]], "calculatestructureprofilescores() (promod3.modelling.loopcandidates method)": [[31, "id1"], [31, "promod3.modelling.LoopCandidates.CalculateStructureProfileScores"]], "contains() (promod3.modelling.scorecontainer method)": [[31, "promod3.modelling.ScoreContainer.Contains"]], "copy() (promod3.modelling.scorecontainer method)": [[31, "promod3.modelling.ScoreContainer.Copy"]], "extend() (promod3.modelling.scorecontainer method)": [[31, "promod3.modelling.ScoreContainer.Extend"]], "extract() (promod3.modelling.loopcandidates method)": [[31, "promod3.modelling.LoopCandidates.Extract"]], "extract() (promod3.modelling.scorecontainer method)": [[31, "promod3.modelling.ScoreContainer.Extract"]], "fillfromdatabase() (promod3.modelling.loopcandidates static method)": [[31, "promod3.modelling.LoopCandidates.FillFromDatabase"]], "fillfrommontecarlosampler() (promod3.modelling.loopcandidates static method)": [[31, "promod3.modelling.LoopCandidates.FillFromMonteCarloSampler"]], "get() (promod3.modelling.scorecontainer method)": [[31, "promod3.modelling.ScoreContainer.Get"]], "getallatomscoringkeys() (promod3.modelling.scoringweights static method)": [[31, "promod3.modelling.ScoringWeights.GetAllAtomScoringKeys"]], "getallatomweights() (promod3.modelling.scoringweights static method)": [[31, "promod3.modelling.ScoringWeights.GetAllAtomWeights"]], "getbackbonescoringkeys() (promod3.modelling.scoringweights static method)": [[31, "promod3.modelling.ScoringWeights.GetBackboneScoringKeys"]], "getbackboneweights() (promod3.modelling.scoringweights static method)": [[31, "promod3.modelling.ScoringWeights.GetBackboneWeights"]], "getclusteredcandidates() (promod3.modelling.loopcandidates method)": [[31, "promod3.modelling.LoopCandidates.GetClusteredCandidates"]], "getclusters() (promod3.modelling.loopcandidates method)": [[31, "promod3.modelling.LoopCandidates.GetClusters"]], "getfragmentinfo() (promod3.modelling.loopcandidates method)": [[31, "promod3.modelling.LoopCandidates.GetFragmentInfo"]], "getlargestcluster() (promod3.modelling.loopcandidates method)": [[31, "promod3.modelling.LoopCandidates.GetLargestCluster"]], "getnumcandidates() (promod3.modelling.scorecontainer method)": [[31, "promod3.modelling.ScoreContainer.GetNumCandidates"]], "getsequence() (promod3.modelling.loopcandidates method)": [[31, "promod3.modelling.LoopCandidates.GetSequence"]], "getsequenceprofilescoreskey() (promod3.modelling.scoringweights static method)": [[31, "promod3.modelling.ScoringWeights.GetSequenceProfileScoresKey"]], "getstemrmsdskey() (promod3.modelling.scoringweights static method)": [[31, "promod3.modelling.ScoringWeights.GetStemRMSDsKey"]], "getstructureprofilescoreskey() (promod3.modelling.scoringweights static method)": [[31, "promod3.modelling.ScoringWeights.GetStructureProfileScoresKey"]], "getweights() (promod3.modelling.scoringweights static method)": [[31, "promod3.modelling.ScoringWeights.GetWeights"]], "hasfragmentinfos() (promod3.modelling.loopcandidates method)": [[31, "promod3.modelling.LoopCandidates.HasFragmentInfos"]], "isempty() (promod3.modelling.scorecontainer method)": [[31, "promod3.modelling.ScoreContainer.IsEmpty"]], "linearcombine() (promod3.modelling.scorecontainer method)": [[31, "promod3.modelling.ScoreContainer.LinearCombine"]], "loopcandidates (class in promod3.modelling)": [[31, "promod3.modelling.LoopCandidates"]], "remove() (promod3.modelling.loopcandidates method)": [[31, "promod3.modelling.LoopCandidates.Remove"]], "scorecontainer (class in promod3.modelling)": [[31, "promod3.modelling.ScoreContainer"]], "scoringweights (class in promod3.modelling)": [[31, "promod3.modelling.ScoringWeights"]], "set() (promod3.modelling.scorecontainer method)": [[31, "promod3.modelling.ScoreContainer.Set"]], "setallatomscoringkeys() (promod3.modelling.scoringweights static method)": [[31, "promod3.modelling.ScoringWeights.SetAllAtomScoringKeys"]], "setbackbonescoringkeys() (promod3.modelling.scoringweights static method)": [[31, "promod3.modelling.ScoringWeights.SetBackboneScoringKeys"]], "setsequenceprofilescoreskey() (promod3.modelling.scoringweights static method)": [[31, "promod3.modelling.ScoringWeights.SetSequenceProfileScoresKey"]], "setstemrmsdskey() (promod3.modelling.scoringweights static method)": [[31, "promod3.modelling.ScoringWeights.SetStemRMSDsKey"]], "setstructureprofilescoreskey() (promod3.modelling.scoringweights static method)": [[31, "promod3.modelling.ScoringWeights.SetStructureProfileScoresKey"]], "setweights() (promod3.modelling.scoringweights static method)": [[31, "promod3.modelling.ScoringWeights.SetWeights"]], "addcarestraint() (promod3.modelling.backbonerelaxer method)": [[32, "promod3.modelling.BackboneRelaxer.AddCARestraint"]], "addcbrestraint() (promod3.modelling.backbonerelaxer method)": [[32, "promod3.modelling.BackboneRelaxer.AddCBRestraint"]], "addcrestraint() (promod3.modelling.backbonerelaxer method)": [[32, "promod3.modelling.BackboneRelaxer.AddCRestraint"]], "addnrestraint() (promod3.modelling.backbonerelaxer method)": [[32, "promod3.modelling.BackboneRelaxer.AddNRestraint"]], "addorestraint() (promod3.modelling.backbonerelaxer method)": [[32, "promod3.modelling.BackboneRelaxer.AddORestraint"]], "allatomrelaxer (class in promod3.modelling)": [[32, "promod3.modelling.AllAtomRelaxer"]], "backbonerelaxer (class in promod3.modelling)": [[32, "id3"], [32, "promod3.modelling.BackboneRelaxer"]], "ccd (class in promod3.modelling)": [[32, "promod3.modelling.CCD"]], "ccd() (promod3.modelling.ccd method)": [[32, "id0"], [32, "promod3.modelling.CCD.CCD"]], "close() (promod3.modelling.ccd method)": [[32, "promod3.modelling.CCD.Close"]], "close() (promod3.modelling.kic method)": [[32, "promod3.modelling.KIC.Close"]], "getnonbondedcutoff() (promod3.modelling.backbonerelaxer method)": [[32, "promod3.modelling.BackboneRelaxer.GetNonBondedCutoff"]], "getsystemcreator() (promod3.modelling.allatomrelaxer method)": [[32, "promod3.modelling.AllAtomRelaxer.GetSystemCreator"]], "kic (class in promod3.modelling)": [[32, "promod3.modelling.KIC"]], "kic() (promod3.modelling.kic method)": [[32, "promod3.modelling.KIC.KIC"]], "run() (promod3.modelling.allatomrelaxer method)": [[32, "promod3.modelling.AllAtomRelaxer.Run"]], "run() (promod3.modelling.backbonerelaxer method)": [[32, "promod3.modelling.BackboneRelaxer.Run"]], "setnonbondedcutoff() (promod3.modelling.backbonerelaxer method)": [[32, "promod3.modelling.BackboneRelaxer.SetNonBondedCutoff"]], "updatepositions() (promod3.modelling.allatomrelaxer method)": [[32, "promod3.modelling.AllAtomRelaxer.UpdatePositions"]], "filtercandidates() (in module promod3.modelling)": [[33, "promod3.modelling.FilterCandidates"]], "filtercandidateswithsc() (in module promod3.modelling)": [[33, "promod3.modelling.FilterCandidatesWithSC"]], "getnonplanarrings() (in module promod3.modelling)": [[33, "promod3.modelling.GetNonPlanarRings"]], "getringpunches() (in module promod3.modelling)": [[33, "promod3.modelling.GetRingPunches"]], "getrings() (in module promod3.modelling)": [[33, "promod3.modelling.GetRings"]], "hasnonplanarrings() (in module promod3.modelling)": [[33, "promod3.modelling.HasNonPlanarRings"]], "hasringpunches() (in module promod3.modelling)": [[33, "promod3.modelling.HasRingPunches"]], "reportmolprobityscores() (in module promod3.modelling)": [[33, "promod3.modelling.ReportMolProbityScores"]], "runmolprobity() (in module promod3.modelling)": [[33, "promod3.modelling.RunMolProbity"]], "runmolprobityentity() (in module promod3.modelling)": [[33, "promod3.modelling.RunMolProbityEntity"]], "ccdcloser (class in promod3.modelling)": [[34, "promod3.modelling.CCDCloser"]], "cterminalcloser (class in promod3.modelling)": [[34, "promod3.modelling.CTerminalCloser"]], "close() (promod3.modelling.ccdcloser method)": [[34, "promod3.modelling.CCDCloser.Close"]], "close() (promod3.modelling.cterminalcloser method)": [[34, "promod3.modelling.CTerminalCloser.Close"]], "close() (promod3.modelling.closerbase method)": [[34, "promod3.modelling.CloserBase.Close"]], "close() (promod3.modelling.denovocloser method)": [[34, "promod3.modelling.DeNovoCloser.Close"]], "close() (promod3.modelling.dirtyccdcloser method)": [[34, "promod3.modelling.DirtyCCDCloser.Close"]], "close() (promod3.modelling.kiccloser method)": [[34, "promod3.modelling.KICCloser.Close"]], "close() (promod3.modelling.nterminalcloser method)": [[34, "promod3.modelling.NTerminalCloser.Close"]], "closerbase (class in promod3.modelling)": [[34, "promod3.modelling.CloserBase"]], "coolerbase (class in promod3.modelling)": [[34, "promod3.modelling.CoolerBase"]], "denovocloser (class in promod3.modelling)": [[34, "promod3.modelling.DeNovoCloser"]], "dirtyccdcloser (class in promod3.modelling)": [[34, "promod3.modelling.DirtyCCDCloser"]], "exponentialcooler (class in promod3.modelling)": [[34, "promod3.modelling.ExponentialCooler"]], "fragmentsampler (class in promod3.modelling)": [[34, "promod3.modelling.FragmentSampler"]], "getscore() (promod3.modelling.linearscorer method)": [[34, "promod3.modelling.LinearScorer.GetScore"]], "getscore() (promod3.modelling.scorerbase method)": [[34, "promod3.modelling.ScorerBase.GetScore"]], "gettemperature() (promod3.modelling.coolerbase method)": [[34, "promod3.modelling.CoolerBase.GetTemperature"]], "gettemperature() (promod3.modelling.exponentialcooler method)": [[34, "promod3.modelling.ExponentialCooler.GetTemperature"]], "initialize() (promod3.modelling.fragmentsampler method)": [[34, "promod3.modelling.FragmentSampler.Initialize"]], "initialize() (promod3.modelling.phipsisampler method)": [[34, "promod3.modelling.PhiPsiSampler.Initialize"]], "initialize() (promod3.modelling.samplerbase method)": [[34, "promod3.modelling.SamplerBase.Initialize"]], "initialize() (promod3.modelling.softsampler method)": [[34, "promod3.modelling.SoftSampler.Initialize"]], "kiccloser (class in promod3.modelling)": [[34, "promod3.modelling.KICCloser"]], "linearscorer (class in promod3.modelling)": [[34, "promod3.modelling.LinearScorer"]], "nterminalcloser (class in promod3.modelling)": [[34, "promod3.modelling.NTerminalCloser"]], "phipsisampler (class in promod3.modelling)": [[34, "promod3.modelling.PhiPsiSampler"]], "proposestep() (promod3.modelling.fragmentsampler method)": [[34, "promod3.modelling.FragmentSampler.ProposeStep"]], "proposestep() (promod3.modelling.phipsisampler method)": [[34, "promod3.modelling.PhiPsiSampler.ProposeStep"]], "proposestep() (promod3.modelling.samplerbase method)": [[34, "promod3.modelling.SamplerBase.ProposeStep"]], "proposestep() (promod3.modelling.softsampler method)": [[34, "promod3.modelling.SoftSampler.ProposeStep"]], "reset() (promod3.modelling.coolerbase method)": [[34, "promod3.modelling.CoolerBase.Reset"]], "reset() (promod3.modelling.exponentialcooler method)": [[34, "promod3.modelling.ExponentialCooler.Reset"]], "samplemontecarlo() (in module promod3.modelling)": [[34, "promod3.modelling.SampleMonteCarlo"]], "samplerbase (class in promod3.modelling)": [[34, "promod3.modelling.SamplerBase"]], "scorerbase (class in promod3.modelling)": [[34, "promod3.modelling.ScorerBase"]], "softsampler (class in promod3.modelling)": [[34, "promod3.modelling.SoftSampler"]], "addmodellingissue() (in module promod3.modelling)": [[35, "promod3.modelling.AddModellingIssue"]], "buildfromrawmodel() (in module promod3.modelling)": [[35, "promod3.modelling.BuildFromRawModel"]], "buildrawmodel() (in module promod3.modelling)": [[35, "promod3.modelling.BuildRawModel"]], "buildsidechains() (in module promod3.modelling)": [[35, "promod3.modelling.BuildSidechains"]], "checkfinalmodel() (in module promod3.modelling)": [[35, "promod3.modelling.CheckFinalModel"]], "closegaps() (in module promod3.modelling)": [[35, "promod3.modelling.CloseGaps"]], "closelargedeletions() (in module promod3.modelling)": [[35, "promod3.modelling.CloseLargeDeletions"]], "closesmalldeletions() (in module promod3.modelling)": [[35, "promod3.modelling.CloseSmallDeletions"]], "copy() (promod3.modelling.modellinghandle method)": [[35, "promod3.modelling.ModellingHandle.Copy"]], "deletegapcols() (in module promod3.modelling)": [[35, "promod3.modelling.DeleteGapCols"]], "fillloopsbydatabase() (in module promod3.modelling)": [[35, "promod3.modelling.FillLoopsByDatabase"]], "fillloopsbymontecarlo() (in module promod3.modelling)": [[35, "promod3.modelling.FillLoopsByMonteCarlo"]], "insertloop() (in module promod3.modelling)": [[35, "promod3.modelling.InsertLoop"]], "isallatomscoringsetup() (in module promod3.modelling)": [[35, "promod3.modelling.IsAllAtomScoringSetUp"]], "isbackbonescoringsetup() (in module promod3.modelling)": [[35, "promod3.modelling.IsBackboneScoringSetUp"]], "major (promod3.modelling.modellingissue.severity attribute)": [[35, "promod3.modelling.ModellingIssue.Severity.MAJOR"]], "minor (promod3.modelling.modellingissue.severity attribute)": [[35, "promod3.modelling.ModellingIssue.Severity.MINOR"]], "mergegapsbydistance() (in module promod3.modelling)": [[35, "promod3.modelling.MergeGapsByDistance"]], "mergemhandle() (in module promod3.modelling)": [[35, "promod3.modelling.MergeMHandle"]], "minimizemodelenergy() (in module promod3.modelling)": [[35, "promod3.modelling.MinimizeModelEnergy"]], "modeltermini() (in module promod3.modelling)": [[35, "promod3.modelling.ModelTermini"]], "modellinghandle (class in promod3.modelling)": [[35, "promod3.modelling.ModellingHandle"]], "modellingissue (class in promod3.modelling)": [[35, "promod3.modelling.ModellingIssue"]], "modellingissue.severity (class in promod3.modelling)": [[35, "promod3.modelling.ModellingIssue.Severity"]], "pullterminaldeletions() (in module promod3.modelling)": [[35, "promod3.modelling.PullTerminalDeletions"]], "removeterminalgaps() (in module promod3.modelling)": [[35, "promod3.modelling.RemoveTerminalGaps"]], "reordergaps() (in module promod3.modelling)": [[35, "promod3.modelling.ReorderGaps"]], "setfraggerhandles() (in module promod3.modelling)": [[35, "promod3.modelling.SetFraggerHandles"]], "setpsipredpredictions() (in module promod3.modelling)": [[35, "promod3.modelling.SetPsipredPredictions"]], "setsequenceprofiles() (in module promod3.modelling)": [[35, "promod3.modelling.SetSequenceProfiles"]], "setupdefaultallatomscoring() (in module promod3.modelling)": [[35, "promod3.modelling.SetupDefaultAllAtomScoring"]], "setupdefaultbackbonescoring() (in module promod3.modelling)": [[35, "promod3.modelling.SetupDefaultBackboneScoring"]], "all_atom_scorer (promod3.modelling.modellinghandle attribute)": [[35, "promod3.modelling.ModellingHandle.all_atom_scorer"]], "all_atom_scorer_env (promod3.modelling.modellinghandle attribute)": [[35, "promod3.modelling.ModellingHandle.all_atom_scorer_env"]], "all_atom_sidechain_env (promod3.modelling.modellinghandle attribute)": [[35, "promod3.modelling.ModellingHandle.all_atom_sidechain_env"]], "backbone_scorer (promod3.modelling.modellinghandle attribute)": [[35, "promod3.modelling.ModellingHandle.backbone_scorer"]], "backbone_scorer_env (promod3.modelling.modellinghandle attribute)": [[35, "promod3.modelling.ModellingHandle.backbone_scorer_env"]], "fragger_handles (promod3.modelling.modellinghandle attribute)": [[35, "promod3.modelling.ModellingHandle.fragger_handles"]], "gaps (promod3.modelling.modellinghandle attribute)": [[35, "promod3.modelling.ModellingHandle.gaps"]], "is_major() (promod3.modelling.modellingissue method)": [[35, "promod3.modelling.ModellingIssue.is_major"]], "model (promod3.modelling.modellinghandle attribute)": [[35, "promod3.modelling.ModellingHandle.model"]], "modelling_issues (promod3.modelling.modellinghandle attribute)": [[35, "promod3.modelling.ModellingHandle.modelling_issues"]], "profiles (promod3.modelling.modellinghandle attribute)": [[35, "promod3.modelling.ModellingHandle.profiles"]], "psipred_predictions (promod3.modelling.modellinghandle attribute)": [[35, "promod3.modelling.ModellingHandle.psipred_predictions"]], "residue_list (promod3.modelling.modellingissue attribute)": [[35, "promod3.modelling.ModellingIssue.residue_list"]], "seqres (promod3.modelling.modellinghandle attribute)": [[35, "promod3.modelling.ModellingHandle.seqres"]], "severity (promod3.modelling.modellingissue attribute)": [[35, "promod3.modelling.ModellingIssue.severity"]], "sidechain_reconstructor (promod3.modelling.modellinghandle attribute)": [[35, "promod3.modelling.ModellingHandle.sidechain_reconstructor"]], "text (promod3.modelling.modellingissue attribute)": [[35, "promod3.modelling.ModellingIssue.text"]], "attachenvironment() (promod3.modelling.sidechainreconstructor method)": [[36, "promod3.modelling.SidechainReconstructor.AttachEnvironment"]], "reconstruct() (promod3.modelling.sidechainreconstructor method)": [[36, "promod3.modelling.SidechainReconstructor.Reconstruct"]], "reconstructsidechains() (in module promod3.modelling)": [[36, "promod3.modelling.ReconstructSidechains"]], "sidechainreconstructiondata (class in promod3.modelling)": [[36, "promod3.modelling.SidechainReconstructionData"]], "sidechainreconstructor (class in promod3.modelling)": [[36, "promod3.modelling.SidechainReconstructor"]], "disulfid_bridges (promod3.modelling.sidechainreconstructiondata attribute)": [[36, "promod3.modelling.SidechainReconstructionData.disulfid_bridges"]], "env_pos (promod3.modelling.sidechainreconstructiondata attribute)": [[36, "promod3.modelling.SidechainReconstructionData.env_pos"]], "is_c_ter (promod3.modelling.sidechainreconstructiondata attribute)": [[36, "promod3.modelling.SidechainReconstructionData.is_c_ter"]], "is_n_ter (promod3.modelling.sidechainreconstructiondata attribute)": [[36, "promod3.modelling.SidechainReconstructionData.is_n_ter"]], "loop_lengths (promod3.modelling.sidechainreconstructiondata attribute)": [[36, "promod3.modelling.SidechainReconstructionData.loop_lengths"]], "loop_start_indices (promod3.modelling.sidechainreconstructiondata attribute)": [[36, "promod3.modelling.SidechainReconstructionData.loop_start_indices"]], "rotamer_res_indices (promod3.modelling.sidechainreconstructiondata attribute)": [[36, "promod3.modelling.SidechainReconstructionData.rotamer_res_indices"]], "allatomclashscorer (class in promod3.scoring)": [[39, "promod3.scoring.AllAtomClashScorer"]], "allatominteractionscorer (class in promod3.scoring)": [[39, "promod3.scoring.AllAtomInteractionScorer"]], "allatomoverallscorer (class in promod3.scoring)": [[39, "promod3.scoring.AllAtomOverallScorer"]], "allatompackingscorer (class in promod3.scoring)": [[39, "promod3.scoring.AllAtomPackingScorer"]], "allatomscorer (class in promod3.scoring)": [[39, "promod3.scoring.AllAtomScorer"]], "attachenvironment() (promod3.scoring.allatomoverallscorer method)": [[39, "promod3.scoring.AllAtomOverallScorer.AttachEnvironment"]], "attachenvironment() (promod3.scoring.allatomscorer method)": [[39, "promod3.scoring.AllAtomScorer.AttachEnvironment"]], "calculatelinearcombination() (promod3.scoring.allatomoverallscorer method)": [[39, "promod3.scoring.AllAtomOverallScorer.CalculateLinearCombination"]], "calculatescore() (promod3.scoring.allatomscorer method)": [[39, "promod3.scoring.AllAtomScorer.CalculateScore"]], "calculatescoreprofile() (promod3.scoring.allatomscorer method)": [[39, "promod3.scoring.AllAtomScorer.CalculateScoreProfile"]], "contains() (promod3.scoring.allatomoverallscorer method)": [[39, "promod3.scoring.AllAtomOverallScorer.Contains"]], "doexternalscores() (promod3.scoring.allatomclashscorer method)": [[39, "promod3.scoring.AllAtomClashScorer.DoExternalScores"]], "doexternalscores() (promod3.scoring.allatominteractionscorer method)": [[39, "promod3.scoring.AllAtomInteractionScorer.DoExternalScores"]], "dointernalscores() (promod3.scoring.allatomclashscorer method)": [[39, "promod3.scoring.AllAtomClashScorer.DoInternalScores"]], "dointernalscores() (promod3.scoring.allatominteractionscorer method)": [[39, "promod3.scoring.AllAtomInteractionScorer.DoInternalScores"]], "donormalize() (promod3.scoring.allatomclashscorer method)": [[39, "promod3.scoring.AllAtomClashScorer.DoNormalize"]], "donormalize() (promod3.scoring.allatominteractionscorer method)": [[39, "promod3.scoring.AllAtomInteractionScorer.DoNormalize"]], "donormalize() (promod3.scoring.allatompackingscorer method)": [[39, "promod3.scoring.AllAtomPackingScorer.DoNormalize"]], "get() (promod3.scoring.allatomoverallscorer method)": [[39, "promod3.scoring.AllAtomOverallScorer.Get"]], "load() (promod3.scoring.allatominteractionscorer static method)": [[39, "promod3.scoring.AllAtomInteractionScorer.Load"]], "load() (promod3.scoring.allatompackingscorer static method)": [[39, "promod3.scoring.AllAtomPackingScorer.Load"]], "loadallatominteractionscorer() (in module promod3.scoring)": [[39, "promod3.scoring.LoadAllAtomInteractionScorer"]], "loadallatompackingscorer() (in module promod3.scoring)": [[39, "promod3.scoring.LoadAllAtomPackingScorer"]], "loaddefaultallatomoverallscorer() (in module promod3.scoring)": [[39, "promod3.scoring.LoadDefaultAllAtomOverallScorer"]], "loadportable() (promod3.scoring.allatominteractionscorer static method)": [[39, "promod3.scoring.AllAtomInteractionScorer.LoadPortable"]], "loadportable() (promod3.scoring.allatompackingscorer static method)": [[39, "promod3.scoring.AllAtomPackingScorer.LoadPortable"]], "save() (promod3.scoring.allatominteractionscorer method)": [[39, "promod3.scoring.AllAtomInteractionScorer.Save"]], "save() (promod3.scoring.allatompackingscorer method)": [[39, "promod3.scoring.AllAtomPackingScorer.Save"]], "saveportable() (promod3.scoring.allatominteractionscorer method)": [[39, "promod3.scoring.AllAtomInteractionScorer.SavePortable"]], "saveportable() (promod3.scoring.allatompackingscorer method)": [[39, "promod3.scoring.AllAtomPackingScorer.SavePortable"]], "setenergy() (promod3.scoring.allatominteractionscorer method)": [[39, "promod3.scoring.AllAtomInteractionScorer.SetEnergy"]], "setenergy() (promod3.scoring.allatompackingscorer method)": [[39, "promod3.scoring.AllAtomPackingScorer.SetEnergy"]], "__getitem__() (promod3.scoring.allatomoverallscorer method)": [[39, "promod3.scoring.AllAtomOverallScorer.__getitem__"]], "__setitem__() (promod3.scoring.allatomoverallscorer method)": [[39, "promod3.scoring.AllAtomOverallScorer.__setitem__"]], "addpairwisefunction() (promod3.scoring.backbonescoreenv method)": [[40, "promod3.scoring.BackboneScoreEnv.AddPairwiseFunction"]], "applypairwisefunction() (promod3.scoring.backbonescoreenv method)": [[40, "promod3.scoring.BackboneScoreEnv.ApplyPairwiseFunction"]], "backbonescoreenv (class in promod3.scoring)": [[40, "promod3.scoring.BackboneScoreEnv"]], "clearenvironment() (promod3.scoring.backbonescoreenv method)": [[40, "promod3.scoring.BackboneScoreEnv.ClearEnvironment"]], "constraintfunction (class in promod3.scoring)": [[40, "promod3.scoring.ConstraintFunction"]], "contactfunction (class in promod3.scoring)": [[40, "promod3.scoring.ContactFunction"]], "copy() (promod3.scoring.backbonescoreenv method)": [[40, "promod3.scoring.BackboneScoreEnv.Copy"]], "discocontainer (class in promod3.scoring)": [[40, "promod3.scoring.DiscoContainer"]], "discocontainer.addstructuralinfo() (in module promod3.scoring)": [[40, "promod3.scoring.DiscoContainer.AddStructuralInfo"]], "discocontainer.attachconstraints() (in module promod3.scoring)": [[40, "promod3.scoring.DiscoContainer.AttachConstraints"]], "getseqres() (promod3.scoring.backbonescoreenv method)": [[40, "promod3.scoring.BackboneScoreEnv.GetSeqres"]], "pairwisefunction (class in promod3.scoring)": [[40, "promod3.scoring.PairwiseFunction"]], "pairwisefunctiontype (class in promod3.scoring)": [[40, "promod3.scoring.PairwiseFunctionType"]], "pop() (promod3.scoring.backbonescoreenv method)": [[40, "promod3.scoring.BackboneScoreEnv.Pop"]], "score() (promod3.scoring.pairwisefunction method)": [[40, "promod3.scoring.PairwiseFunction.Score"]], "setenvironment() (promod3.scoring.backbonescoreenv method)": [[40, "promod3.scoring.BackboneScoreEnv.SetEnvironment"]], "setinitialenvironment() (promod3.scoring.backbonescoreenv method)": [[40, "promod3.scoring.BackboneScoreEnv.SetInitialEnvironment"]], "setpsipredprediction() (promod3.scoring.backbonescoreenv method)": [[40, "promod3.scoring.BackboneScoreEnv.SetPsipredPrediction"]], "stash() (promod3.scoring.backbonescoreenv method)": [[40, "promod3.scoring.BackboneScoreEnv.Stash"]], "attachenvironment() (promod3.scoring.backboneoverallscorer method)": [[41, "promod3.scoring.BackboneOverallScorer.AttachEnvironment"]], "attachenvironment() (promod3.scoring.backbonescorer method)": [[41, "promod3.scoring.BackboneScorer.AttachEnvironment"]], "backboneoverallscorer (class in promod3.scoring)": [[41, "promod3.scoring.BackboneOverallScorer"]], "backbonescorer (class in promod3.scoring)": [[41, "promod3.scoring.BackboneScorer"]], "cbpackingscorer (class in promod3.scoring)": [[41, "promod3.scoring.CBPackingScorer"]], "cbetascorer (class in promod3.scoring)": [[41, "promod3.scoring.CBetaScorer"]], "calculate() (promod3.scoring.backboneoverallscorer method)": [[41, "promod3.scoring.BackboneOverallScorer.Calculate"]], "calculatelinearcombination() (promod3.scoring.backboneoverallscorer method)": [[41, "promod3.scoring.BackboneOverallScorer.CalculateLinearCombination"]], "calculatescore() (promod3.scoring.backbonescorer method)": [[41, "promod3.scoring.BackboneScorer.CalculateScore"]], "calculatescoreprofile() (promod3.scoring.backbonescorer method)": [[41, "promod3.scoring.BackboneScorer.CalculateScoreProfile"]], "clashscorer (class in promod3.scoring)": [[41, "promod3.scoring.ClashScorer"]], "contains() (promod3.scoring.backboneoverallscorer method)": [[41, "promod3.scoring.BackboneOverallScorer.Contains"]], "doexternalscores() (promod3.scoring.cbetascorer method)": [[41, "promod3.scoring.CBetaScorer.DoExternalScores"]], "doexternalscores() (promod3.scoring.clashscorer method)": [[41, "promod3.scoring.ClashScorer.DoExternalScores"]], "doexternalscores() (promod3.scoring.hbondscorer method)": [[41, "promod3.scoring.HBondScorer.DoExternalScores"]], "doexternalscores() (promod3.scoring.pairwisescorer method)": [[41, "promod3.scoring.PairwiseScorer.DoExternalScores"]], "doexternalscores() (promod3.scoring.reducedscorer method)": [[41, "promod3.scoring.ReducedScorer.DoExternalScores"]], "dointernalscores() (promod3.scoring.cbetascorer method)": [[41, "promod3.scoring.CBetaScorer.DoInternalScores"]], "dointernalscores() (promod3.scoring.clashscorer method)": [[41, "promod3.scoring.ClashScorer.DoInternalScores"]], "dointernalscores() (promod3.scoring.hbondscorer method)": [[41, "promod3.scoring.HBondScorer.DoInternalScores"]], "dointernalscores() (promod3.scoring.pairwisescorer method)": [[41, "promod3.scoring.PairwiseScorer.DoInternalScores"]], "dointernalscores() (promod3.scoring.reducedscorer method)": [[41, "promod3.scoring.ReducedScorer.DoInternalScores"]], "donormalize() (promod3.scoring.cbpackingscorer method)": [[41, "promod3.scoring.CBPackingScorer.DoNormalize"]], "donormalize() (promod3.scoring.cbetascorer method)": [[41, "promod3.scoring.CBetaScorer.DoNormalize"]], "donormalize() (promod3.scoring.clashscorer method)": [[41, "promod3.scoring.ClashScorer.DoNormalize"]], "donormalize() (promod3.scoring.hbondscorer method)": [[41, "promod3.scoring.HBondScorer.DoNormalize"]], "donormalize() (promod3.scoring.pairwisescorer method)": [[41, "promod3.scoring.PairwiseScorer.DoNormalize"]], "donormalize() (promod3.scoring.reducedscorer method)": [[41, "promod3.scoring.ReducedScorer.DoNormalize"]], "donormalize() (promod3.scoring.ssagreementscorer method)": [[41, "promod3.scoring.SSAgreementScorer.DoNormalize"]], "donormalize() (promod3.scoring.torsionscorer method)": [[41, "promod3.scoring.TorsionScorer.DoNormalize"]], "get() (promod3.scoring.backboneoverallscorer method)": [[41, "promod3.scoring.BackboneOverallScorer.Get"]], "hbondscorer (class in promod3.scoring)": [[41, "promod3.scoring.HBondScorer"]], "load() (promod3.scoring.cbpackingscorer static method)": [[41, "promod3.scoring.CBPackingScorer.Load"]], "load() (promod3.scoring.cbetascorer static method)": [[41, "promod3.scoring.CBetaScorer.Load"]], "load() (promod3.scoring.hbondscorer static method)": [[41, "promod3.scoring.HBondScorer.Load"]], "load() (promod3.scoring.reducedscorer static method)": [[41, "promod3.scoring.ReducedScorer.Load"]], "load() (promod3.scoring.ssagreementscorer static method)": [[41, "promod3.scoring.SSAgreementScorer.Load"]], "load() (promod3.scoring.torsionscorer static method)": [[41, "promod3.scoring.TorsionScorer.Load"]], "loadcbpackingscorer() (in module promod3.scoring)": [[41, "promod3.scoring.LoadCBPackingScorer"]], "loadcbetascorer() (in module promod3.scoring)": [[41, "promod3.scoring.LoadCBetaScorer"]], "loaddefaultbackboneoverallscorer() (in module promod3.scoring)": [[41, "promod3.scoring.LoadDefaultBackboneOverallScorer"]], "loadhbondscorer() (in module promod3.scoring)": [[41, "promod3.scoring.LoadHBondScorer"]], "loadportable() (promod3.scoring.cbpackingscorer static method)": [[41, "promod3.scoring.CBPackingScorer.LoadPortable"]], "loadportable() (promod3.scoring.cbetascorer static method)": [[41, "promod3.scoring.CBetaScorer.LoadPortable"]], "loadportable() (promod3.scoring.hbondscorer static method)": [[41, "promod3.scoring.HBondScorer.LoadPortable"]], "loadportable() (promod3.scoring.reducedscorer static method)": [[41, "promod3.scoring.ReducedScorer.LoadPortable"]], "loadportable() (promod3.scoring.ssagreementscorer static method)": [[41, "promod3.scoring.SSAgreementScorer.LoadPortable"]], "loadportable() (promod3.scoring.torsionscorer static method)": [[41, "promod3.scoring.TorsionScorer.LoadPortable"]], "loadreducedscorer() (in module promod3.scoring)": [[41, "promod3.scoring.LoadReducedScorer"]], "loadssagreementscorer() (in module promod3.scoring)": [[41, "promod3.scoring.LoadSSAgreementScorer"]], "loadtorsionscorer() (in module promod3.scoring)": [[41, "promod3.scoring.LoadTorsionScorer"]], "pairwisescorer (class in promod3.scoring)": [[41, "promod3.scoring.PairwiseScorer"]], "reducedscorer (class in promod3.scoring)": [[41, "promod3.scoring.ReducedScorer"]], "ssagreementscorer (class in promod3.scoring)": [[41, "promod3.scoring.SSAgreementScorer"]], "save() (promod3.scoring.cbpackingscorer method)": [[41, "promod3.scoring.CBPackingScorer.Save"]], "save() (promod3.scoring.cbetascorer method)": [[41, "promod3.scoring.CBetaScorer.Save"]], "save() (promod3.scoring.hbondscorer method)": [[41, "promod3.scoring.HBondScorer.Save"]], "save() (promod3.scoring.reducedscorer method)": [[41, "promod3.scoring.ReducedScorer.Save"]], "save() (promod3.scoring.ssagreementscorer method)": [[41, "promod3.scoring.SSAgreementScorer.Save"]], "save() (promod3.scoring.torsionscorer method)": [[41, "promod3.scoring.TorsionScorer.Save"]], "saveportable() (promod3.scoring.cbpackingscorer method)": [[41, "promod3.scoring.CBPackingScorer.SavePortable"]], "saveportable() (promod3.scoring.cbetascorer method)": [[41, "promod3.scoring.CBetaScorer.SavePortable"]], "saveportable() (promod3.scoring.hbondscorer method)": [[41, "promod3.scoring.HBondScorer.SavePortable"]], "saveportable() (promod3.scoring.reducedscorer method)": [[41, "promod3.scoring.ReducedScorer.SavePortable"]], "saveportable() (promod3.scoring.ssagreementscorer method)": [[41, "promod3.scoring.SSAgreementScorer.SavePortable"]], "saveportable() (promod3.scoring.torsionscorer method)": [[41, "promod3.scoring.TorsionScorer.SavePortable"]], "setenergy() (promod3.scoring.cbpackingscorer method)": [[41, "promod3.scoring.CBPackingScorer.SetEnergy"]], "setenergy() (promod3.scoring.cbetascorer method)": [[41, "promod3.scoring.CBetaScorer.SetEnergy"]], "setenergy() (promod3.scoring.hbondscorer method)": [[41, "promod3.scoring.HBondScorer.SetEnergy"]], "setenergy() (promod3.scoring.reducedscorer method)": [[41, "promod3.scoring.ReducedScorer.SetEnergy"]], "setenergy() (promod3.scoring.torsionscorer method)": [[41, "promod3.scoring.TorsionScorer.SetEnergy"]], "setscore() (promod3.scoring.ssagreementscorer method)": [[41, "promod3.scoring.SSAgreementScorer.SetScore"]], "torsionscorer (class in promod3.scoring)": [[41, "promod3.scoring.TorsionScorer"]], "__getitem__() (promod3.scoring.backboneoverallscorer method)": [[41, "promod3.scoring.BackboneOverallScorer.__getitem__"]], "__setitem__() (promod3.scoring.backboneoverallscorer method)": [[41, "promod3.scoring.BackboneOverallScorer.__setitem__"]], "promod3.scoring": [[42, "module-promod3.scoring"]], "scwrl3disulfidscore() (in module promod3.scoring)": [[43, "promod3.scoring.SCWRL3DisulfidScore"]], "scwrl3pairwisescore() (in module promod3.scoring)": [[43, "promod3.scoring.SCWRL3PairwiseScore"]], "disulfidscore() (in module promod3.sidechain)": [[44, "promod3.sidechain.DisulfidScore"]], "resolvecysteins() (in module promod3.sidechain)": [[44, "promod3.sidechain.ResolveCysteins"]], "frame (class in promod3.sidechain)": [[45, "promod3.sidechain.Frame"]], "frameresidue (class in promod3.sidechain)": [[45, "promod3.sidechain.FrameResidue"]], "__getitem__() (promod3.sidechain.frameresidue method)": [[45, "promod3.sidechain.FrameResidue.__getitem__"]], "__len__() (promod3.sidechain.frameresidue method)": [[45, "promod3.sidechain.FrameResidue.__len__"]], "createfromfrmlist() (promod3.sidechain.rotamergraph static method)": [[46, "promod3.sidechain.RotamerGraph.CreateFromFRMList"]], "createfromrrmlist() (promod3.sidechain.rotamergraph static method)": [[46, "promod3.sidechain.RotamerGraph.CreateFromRRMList"]], "rotamergraph (class in promod3.sidechain)": [[46, "promod3.sidechain.RotamerGraph"]], "promod3.sidechain": [[47, "module-promod3.sidechain"]], "loadbbdeplib() (in module promod3.sidechain)": [[48, "promod3.sidechain.LoadBBDepLib"]], "loadlib() (in module promod3.sidechain)": [[48, "promod3.sidechain.LoadLib"]], "readdunbrackfile() (in module promod3.sidechain)": [[48, "promod3.sidechain.ReadDunbrackFile"]], "aatorotid() (in module promod3.sidechain)": [[49, "promod3.sidechain.AAToRotID"]], "addframeenergy() (promod3.sidechain.frmrotamer method)": [[49, "id7"], [49, "promod3.sidechain.FRMRotamer.AddFrameEnergy"]], "addframeenergy() (promod3.sidechain.frmrotamergroup method)": [[49, "promod3.sidechain.FRMRotamerGroup.AddFrameEnergy"]], "addframeenergy() (promod3.sidechain.rrmrotamer method)": [[49, "promod3.sidechain.RRMRotamer.AddFrameEnergy"]], "addframeenergy() (promod3.sidechain.rrmrotamergroup method)": [[49, "promod3.sidechain.RRMRotamerGroup.AddFrameEnergy"]], "addsubrotamerdefinition() (promod3.sidechain.frmrotamer method)": [[49, "promod3.sidechain.FRMRotamer.AddSubrotamerDefinition"]], "applyonresidue() (promod3.sidechain.frmrotamer method)": [[49, "id4"], [49, "promod3.sidechain.FRMRotamer.ApplyOnResidue"]], "applyonresidue() (promod3.sidechain.frmrotamergroup method)": [[49, "promod3.sidechain.FRMRotamerGroup.ApplyOnResidue"]], "applyonresidue() (promod3.sidechain.rrmrotamer method)": [[49, "id0"], [49, "promod3.sidechain.RRMRotamer.ApplyOnResidue"]], "applyonresidue() (promod3.sidechain.rrmrotamergroup method)": [[49, "promod3.sidechain.RRMRotamerGroup.ApplyOnResidue"]], "applyselfenergythresh() (promod3.sidechain.frmrotamergroup method)": [[49, "promod3.sidechain.FRMRotamerGroup.ApplySelfEnergyThresh"]], "applyselfenergythresh() (promod3.sidechain.rrmrotamergroup method)": [[49, "promod3.sidechain.RRMRotamerGroup.ApplySelfEnergyThresh"]], "createscwrl3particle() (in module promod3.sidechain)": [[49, "promod3.sidechain.CreateSCWRL3Particle"]], "createscwrl4particle() (in module promod3.sidechain)": [[49, "promod3.sidechain.CreateSCWRL4Particle"]], "createvinaparticle() (in module promod3.sidechain)": [[49, "promod3.sidechain.CreateVINAParticle"]], "frmrotamer (class in promod3.sidechain)": [[49, "promod3.sidechain.FRMRotamer"]], "frmrotamergroup (class in promod3.sidechain)": [[49, "promod3.sidechain.FRMRotamerGroup"]], "getactivesubrotamer() (promod3.sidechain.frmrotamer method)": [[49, "promod3.sidechain.FRMRotamer.GetActiveSubrotamer"]], "getcollisiondistance() (promod3.sidechain.particle method)": [[49, "promod3.sidechain.Particle.GetCollisionDistance"]], "getframeenergy() (promod3.sidechain.frmrotamer method)": [[49, "id5"], [49, "promod3.sidechain.FRMRotamer.GetFrameEnergy"]], "getframeenergy() (promod3.sidechain.rrmrotamer method)": [[49, "promod3.sidechain.RRMRotamer.GetFrameEnergy"]], "getinternalenergy() (promod3.sidechain.frmrotamer method)": [[49, "promod3.sidechain.FRMRotamer.GetInternalEnergy"]], "getinternalenergy() (promod3.sidechain.rrmrotamer method)": [[49, "promod3.sidechain.RRMRotamer.GetInternalEnergy"]], "getinternalenergyprefactor() (promod3.sidechain.frmrotamer method)": [[49, "promod3.sidechain.FRMRotamer.GetInternalEnergyPrefactor"]], "getinternalenergyprefactor() (promod3.sidechain.rrmrotamer method)": [[49, "promod3.sidechain.RRMRotamer.GetInternalEnergyPrefactor"]], "getname() (promod3.sidechain.particle method)": [[49, "promod3.sidechain.Particle.GetName"]], "getnumsubrotamers() (promod3.sidechain.frmrotamer method)": [[49, "promod3.sidechain.FRMRotamer.GetNumSubrotamers"]], "getpos() (promod3.sidechain.particle method)": [[49, "promod3.sidechain.Particle.GetPos"]], "getprobability() (promod3.sidechain.frmrotamer method)": [[49, "promod3.sidechain.FRMRotamer.GetProbability"]], "getprobability() (promod3.sidechain.rrmrotamer method)": [[49, "promod3.sidechain.RRMRotamer.GetProbability"]], "getscoringfunction() (promod3.sidechain.particle method)": [[49, "promod3.sidechain.Particle.GetScoringFunction"]], "getselfenergy() (promod3.sidechain.frmrotamer method)": [[49, "promod3.sidechain.FRMRotamer.GetSelfEnergy"]], "getselfenergy() (promod3.sidechain.rrmrotamer method)": [[49, "promod3.sidechain.RRMRotamer.GetSelfEnergy"]], "getsubrotamerdefinition() (promod3.sidechain.frmrotamer method)": [[49, "promod3.sidechain.FRMRotamer.GetSubrotamerDefinition"]], "gettemperature() (promod3.sidechain.frmrotamer method)": [[49, "promod3.sidechain.FRMRotamer.GetTemperature"]], "getvinaweightgaussian1() (in module promod3.sidechain)": [[49, "promod3.sidechain.GetVINAWeightGaussian1"]], "getvinaweightgaussian2() (in module promod3.sidechain)": [[49, "promod3.sidechain.GetVINAWeightGaussian2"]], "getvinaweighthbond() (in module promod3.sidechain)": [[49, "promod3.sidechain.GetVINAWeightHBond"]], "getvinaweighthydrophobic() (in module promod3.sidechain)": [[49, "promod3.sidechain.GetVINAWeightHydrophobic"]], "getvinaweightrepulsion() (in module promod3.sidechain)": [[49, "promod3.sidechain.GetVINAWeightRepulsion"]], "merge() (promod3.sidechain.frmrotamergroup method)": [[49, "promod3.sidechain.FRMRotamerGroup.Merge"]], "merge() (promod3.sidechain.rrmrotamergroup method)": [[49, "promod3.sidechain.RRMRotamerGroup.Merge"]], "pscoringfunction (class in promod3.sidechain)": [[49, "promod3.sidechain.PScoringFunction"]], "pairwisescore() (promod3.sidechain.particle method)": [[49, "promod3.sidechain.Particle.PairwiseScore"]], "particle (class in promod3.sidechain)": [[49, "promod3.sidechain.Particle"]], "rrmrotamer (class in promod3.sidechain)": [[49, "promod3.sidechain.RRMRotamer"]], "rrmrotamergroup (class in promod3.sidechain)": [[49, "promod3.sidechain.RRMRotamerGroup"]], "rotamerid (class in promod3.sidechain)": [[49, "promod3.sidechain.RotamerID"]], "scwrl4particletype (class in promod3.sidechain)": [[49, "promod3.sidechain.SCWRL4ParticleType"]], "setactivesubrotamer() (promod3.sidechain.frmrotamer method)": [[49, "promod3.sidechain.FRMRotamer.SetActiveSubrotamer"]], "setframeenergy() (promod3.sidechain.frmrotamer method)": [[49, "id6"], [49, "promod3.sidechain.FRMRotamer.SetFrameEnergy"]], "setframeenergy() (promod3.sidechain.frmrotamergroup method)": [[49, "promod3.sidechain.FRMRotamerGroup.SetFrameEnergy"]], "setframeenergy() (promod3.sidechain.rrmrotamer method)": [[49, "promod3.sidechain.RRMRotamer.SetFrameEnergy"]], "setframeenergy() (promod3.sidechain.rrmrotamergroup method)": [[49, "promod3.sidechain.RRMRotamerGroup.SetFrameEnergy"]], "setinternalenergy() (promod3.sidechain.frmrotamer method)": [[49, "promod3.sidechain.FRMRotamer.SetInternalEnergy"]], "setinternalenergy() (promod3.sidechain.rrmrotamer method)": [[49, "promod3.sidechain.RRMRotamer.SetInternalEnergy"]], "setinternalenergyprefactor() (promod3.sidechain.frmrotamer method)": [[49, "promod3.sidechain.FRMRotamer.SetInternalEnergyPrefactor"]], "setinternalenergyprefactor() (promod3.sidechain.rrmrotamer method)": [[49, "promod3.sidechain.RRMRotamer.SetInternalEnergyPrefactor"]], "setprobability() (promod3.sidechain.frmrotamer method)": [[49, "promod3.sidechain.FRMRotamer.SetProbability"]], "setprobability() (promod3.sidechain.rrmrotamer method)": [[49, "promod3.sidechain.RRMRotamer.SetProbability"]], "settemperature() (promod3.sidechain.frmrotamer method)": [[49, "promod3.sidechain.FRMRotamer.SetTemperature"]], "setvinaweightgaussian1() (in module promod3.sidechain)": [[49, "promod3.sidechain.SetVINAWeightGaussian1"]], "setvinaweightgaussian2() (in module promod3.sidechain)": [[49, "promod3.sidechain.SetVINAWeightGaussian2"]], "setvinaweighthbond() (in module promod3.sidechain)": [[49, "promod3.sidechain.SetVINAWeightHBond"]], "setvinaweighthydrophobic() (in module promod3.sidechain)": [[49, "promod3.sidechain.SetVINAWeightHydrophobic"]], "setvinaweightrepulsion() (in module promod3.sidechain)": [[49, "promod3.sidechain.SetVINAWeightRepulsion"]], "tlctorotid() (in module promod3.sidechain)": [[49, "promod3.sidechain.TLCToRotID"]], "toframeresidue() (promod3.sidechain.frmrotamer method)": [[49, "promod3.sidechain.FRMRotamer.ToFrameResidue"]], "toframeresidue() (promod3.sidechain.rrmrotamer method)": [[49, "promod3.sidechain.RRMRotamer.ToFrameResidue"]], "torrmrotamer() (promod3.sidechain.frmrotamer method)": [[49, "promod3.sidechain.FRMRotamer.ToRRMRotamer"]], "vinaparticletype (class in promod3.sidechain)": [[49, "promod3.sidechain.VINAParticleType"]], "__getitem__() (promod3.sidechain.frmrotamer method)": [[49, "promod3.sidechain.FRMRotamer.__getitem__"]], "__getitem__() (promod3.sidechain.frmrotamergroup method)": [[49, "promod3.sidechain.FRMRotamerGroup.__getitem__"]], "__getitem__() (promod3.sidechain.rrmrotamer method)": [[49, "promod3.sidechain.RRMRotamer.__getitem__"]], "__getitem__() (promod3.sidechain.rrmrotamergroup method)": [[49, "promod3.sidechain.RRMRotamerGroup.__getitem__"]], "__len__() (promod3.sidechain.frmrotamer method)": [[49, "promod3.sidechain.FRMRotamer.__len__"]], "__len__() (promod3.sidechain.frmrotamergroup method)": [[49, "promod3.sidechain.FRMRotamerGroup.__len__"]], "__len__() (promod3.sidechain.rrmrotamer method)": [[49, "promod3.sidechain.RRMRotamer.__len__"]], "__len__() (promod3.sidechain.rrmrotamergroup method)": [[49, "promod3.sidechain.RRMRotamerGroup.__len__"]], "assigninternalenergies() (promod3.sidechain.rotamerconstructor method)": [[50, "promod3.sidechain.RotamerConstructor.AssignInternalEnergies"]], "assigninternalenergies() (promod3.sidechain.scwrl3rotamerconstructor method)": [[50, "promod3.sidechain.SCWRL3RotamerConstructor.AssignInternalEnergies"]], "assigninternalenergies() (promod3.sidechain.scwrl4rotamerconstructor method)": [[50, "promod3.sidechain.SCWRL4RotamerConstructor.AssignInternalEnergies"]], "assigninternalenergies() (promod3.sidechain.vinarotamerconstructor method)": [[50, "promod3.sidechain.VINARotamerConstructor.AssignInternalEnergies"]], "constructbackboneframeresidue() (promod3.sidechain.rotamerconstructor method)": [[50, "id3"], [50, "promod3.sidechain.RotamerConstructor.ConstructBackboneFrameResidue"]], "constructfrmrotamerheuristic() (promod3.sidechain.vinarotamerconstructor method)": [[50, "promod3.sidechain.VINARotamerConstructor.ConstructFRMRotamerHeuristic"]], "constructframeresidue() (promod3.sidechain.scwrl4rotamerconstructor method)": [[50, "promod3.sidechain.SCWRL4RotamerConstructor.ConstructFrameResidue"]], "constructframeresidueheuristic() (promod3.sidechain.scwrl4rotamerconstructor method)": [[50, "promod3.sidechain.SCWRL4RotamerConstructor.ConstructFrameResidueHeuristic"]], "constructframeresidueheuristic() (promod3.sidechain.vinarotamerconstructor method)": [[50, "promod3.sidechain.VINARotamerConstructor.ConstructFrameResidueHeuristic"]], "constructrrmrotamergroup() (promod3.sidechain.rotamerconstructor method)": [[50, "id0"], [50, "id1"], [50, "id2"], [50, "promod3.sidechain.RotamerConstructor.ConstructRRMRotamerGroup"]], "constructrrmrotamerheuristic() (promod3.sidechain.vinarotamerconstructor method)": [[50, "promod3.sidechain.VINARotamerConstructor.ConstructRRMRotamerHeuristic"]], "constructsidechainframeresidue() (promod3.sidechain.rotamerconstructor method)": [[50, "id4"], [50, "promod3.sidechain.RotamerConstructor.ConstructSidechainFrameResidue"]], "rotamerconstructor (class in promod3.sidechain)": [[50, "promod3.sidechain.RotamerConstructor"]], "scwrl3rotamerconstructor (class in promod3.sidechain)": [[50, "promod3.sidechain.SCWRL3RotamerConstructor"]], "scwrl4rotamerconstructor (class in promod3.sidechain)": [[50, "promod3.sidechain.SCWRL4RotamerConstructor"]], "vinarotamerconstructor (class in promod3.sidechain)": [[50, "promod3.sidechain.VINARotamerConstructor"]], "addrotamer() (promod3.sidechain.bbdeprotamerlib method)": [[51, "promod3.sidechain.BBDepRotamerLib.AddRotamer"]], "addrotamer() (promod3.sidechain.rotamerlib method)": [[51, "promod3.sidechain.RotamerLib.AddRotamer"]], "bbdeprotamerlib (class in promod3.sidechain)": [[51, "promod3.sidechain.BBDepRotamerLib"]], "dihedralconfiguration (class in promod3.sidechain)": [[51, "promod3.sidechain.DihedralConfiguration"]], "fromresidue() (promod3.sidechain.rotamerlibentry static method)": [[51, "id1"], [51, "promod3.sidechain.RotamerLibEntry.FromResidue"]], "getdihedralconfiguration() (in module promod3.sidechain)": [[51, "promod3.sidechain.GetDihedralConfiguration"]], "getrotamericconfiguration() (in module promod3.sidechain)": [[51, "promod3.sidechain.GetRotamericConfiguration"]], "issimilar() (promod3.sidechain.rotamerlibentry method)": [[51, "id2"], [51, "promod3.sidechain.RotamerLibEntry.IsSimilar"]], "load() (promod3.sidechain.bbdeprotamerlib static method)": [[51, "promod3.sidechain.BBDepRotamerLib.Load"]], "load() (promod3.sidechain.rotamerlib static method)": [[51, "promod3.sidechain.RotamerLib.Load"]], "loadportable() (promod3.sidechain.bbdeprotamerlib static method)": [[51, "promod3.sidechain.BBDepRotamerLib.LoadPortable"]], "loadportable() (promod3.sidechain.rotamerlib static method)": [[51, "promod3.sidechain.RotamerLib.LoadPortable"]], "makestatic() (promod3.sidechain.bbdeprotamerlib method)": [[51, "promod3.sidechain.BBDepRotamerLib.MakeStatic"]], "makestatic() (promod3.sidechain.rotamerlib method)": [[51, "promod3.sidechain.RotamerLib.MakeStatic"]], "querylib() (promod3.sidechain.bbdeprotamerlib method)": [[51, "promod3.sidechain.BBDepRotamerLib.QueryLib"]], "querylib() (promod3.sidechain.rotamerlib method)": [[51, "promod3.sidechain.RotamerLib.QueryLib"]], "rotamerlib (class in promod3.sidechain)": [[51, "promod3.sidechain.RotamerLib"]], "rotamerlibentry (class in promod3.sidechain)": [[51, "id0"], [51, "promod3.sidechain.RotamerLibEntry"]], "save() (promod3.sidechain.bbdeprotamerlib method)": [[51, "promod3.sidechain.BBDepRotamerLib.Save"]], "save() (promod3.sidechain.rotamerlib method)": [[51, "promod3.sidechain.RotamerLib.Save"]], "saveportable() (promod3.sidechain.bbdeprotamerlib method)": [[51, "promod3.sidechain.BBDepRotamerLib.SavePortable"]], "saveportable() (promod3.sidechain.rotamerlib method)": [[51, "promod3.sidechain.RotamerLib.SavePortable"]], "setinterpolate() (promod3.sidechain.bbdeprotamerlib method)": [[51, "promod3.sidechain.BBDepRotamerLib.SetInterpolate"]], "similardihedral() (promod3.sidechain.rotamerlibentry method)": [[51, "id3"], [51, "promod3.sidechain.RotamerLibEntry.SimilarDihedral"]], "chi1 (promod3.sidechain.rotamerlibentry attribute)": [[51, "promod3.sidechain.RotamerLibEntry.chi1"]], "chi2 (promod3.sidechain.rotamerlibentry attribute)": [[51, "promod3.sidechain.RotamerLibEntry.chi2"]], "chi3 (promod3.sidechain.rotamerlibentry attribute)": [[51, "promod3.sidechain.RotamerLibEntry.chi3"]], "chi4 (promod3.sidechain.rotamerlibentry attribute)": [[51, "promod3.sidechain.RotamerLibEntry.chi4"]], "probability (promod3.sidechain.rotamerlibentry attribute)": [[51, "promod3.sidechain.RotamerLibEntry.probability"]], "sig1 (promod3.sidechain.rotamerlibentry attribute)": [[51, "promod3.sidechain.RotamerLibEntry.sig1"]], "sig2 (promod3.sidechain.rotamerlibentry attribute)": [[51, "promod3.sidechain.RotamerLibEntry.sig2"]], "sig3 (promod3.sidechain.rotamerlibentry attribute)": [[51, "promod3.sidechain.RotamerLibEntry.sig3"]], "sig4 (promod3.sidechain.rotamerlibentry attribute)": [[51, "promod3.sidechain.RotamerLibEntry.sig4"]], "subrotameroptimizer() (in module promod3.sidechain)": [[52, "promod3.sidechain.SubrotamerOptimizer"]]}})
\ No newline at end of file
diff --git a/doc/html/sidechain/disulfid.html b/doc/html/sidechain/disulfid.html
index 0b1d32367613367ccd9963f462f0294ab46c8387..c05183c047ead7e79bf25e42e4b17a16cffdd6a8 100644
--- a/doc/html/sidechain/disulfid.html
+++ b/doc/html/sidechain/disulfid.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Disulfid Bond Evaluation &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Disulfid Bond Evaluation &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Loading Rotamer Libraries" href="loading.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,26 +31,28 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="disulfid-bond-evaluation">
-<h1>Disulfid Bond Evaluation<a class="headerlink" href="#disulfid-bond-evaluation" title="Permalink to this headline">¶</a></h1>
+  <section id="disulfid-bond-evaluation">
+<h1>Disulfid Bond Evaluation<a class="headerlink" href="#disulfid-bond-evaluation" title="Permalink to this heading">¶</a></h1>
 <p>When calculating the pairwise interaction energy between two rotamers building
 a disulfid bond, one would get an unfavourable energy due to “clashes” between
 the sulfur atoms. It is possible to improve performance in sidechain
 reconstruction regarding cysteins when finding and separately handle
 disulfid bonds. The scoring module implements an empirically derived disulfid
 score (<a class="reference internal" href="../scoring/other_scoring_functions.html#promod3.scoring.SCWRL3DisulfidScore" title="promod3.scoring.SCWRL3DisulfidScore"><code class="xref py py-func docutils literal notranslate"><span class="pre">promod3.scoring.SCWRL3DisulfidScore()</span></code></a>) as defined in
-<a class="reference internal" href="../references.html#canutescu2003b" id="id1">[canutescu2003b]</a>. The paper proposes two rotamers to be in a disulfid
+<a class="reference internal" href="../references.html#canutescu2003b" id="id1"><span>[canutescu2003b]</span></a>. The paper proposes two rotamers to be in a disulfid
 bonded state, if the resulting disulfid score plus the self energies of the
 involved rotamers is below 45. If there are several cysteines close together,
 this problem gets another layer of complexity. One has to assure, that
 every cysteine only participates in one disulfid bond but the network
 of disulfid bonds is geometrically optimal. SCWRL4 proposes an approach,
 that has also been implemented here.</p>
-<dl class="method">
-<dt id="promod3.sidechain.DisulfidScore">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">DisulfidScore</code><span class="sig-paren">(</span><em>rotamer_one</em>, <em>rotamer_two</em>, <em>ca_pos_one</em>, <em>cb_pos_one</em>, <em>ca_pos_two</em>, <em>cb_pos_two</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.DisulfidScore" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.DisulfidScore">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">DisulfidScore</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rotamer_one</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rotamer_two</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ca_pos_one</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cb_pos_one</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ca_pos_two</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cb_pos_two</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.DisulfidScore" title="Permalink to this definition">¶</a></dt>
 <dd><p>Directly extracts the positions of the gamma sulfurs from the rotamers by
 searching for particles with the name “SG”.
 The found positions are then passed to
@@ -60,78 +63,71 @@ of gamma sulfurs per rotamer (at least one), it then evaluates the score
 for all possible combinations of gamma sulfurs and takes the minimum score.
 To get a final DisulfidScore, it finally adds the self energies of the
 rotamers to the result of the geometric expression.</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>rotamer_one</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamer" title="promod3.sidechain.RRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamer</span></code></a> , <a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamer" title="promod3.sidechain.FRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamer</span></code></a>) – First rotamer</li>
-<li><strong>rotamer_two</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamer" title="promod3.sidechain.RRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamer</span></code></a> , <a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamer" title="promod3.sidechain.FRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamer</span></code></a>) – Second rotamer</li>
-<li><strong>ca_pos_one</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – CA position of first rotamer</li>
-<li><strong>cb_pos_one</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – CB position of first rotamer</li>
-<li><strong>ca_pos_two</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – CA position of second rotamer</li>
-<li><strong>cb_pos_two</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – CB position of second rotamer</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>rotamer_one</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamer" title="promod3.sidechain.RRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamer</span></code></a> , <a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamer" title="promod3.sidechain.FRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamer</span></code></a>) – First rotamer</p></li>
+<li><p><strong>rotamer_two</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamer" title="promod3.sidechain.RRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamer</span></code></a> , <a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamer" title="promod3.sidechain.FRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamer</span></code></a>) – Second rotamer</p></li>
+<li><p><strong>ca_pos_one</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – CA position of first rotamer</p></li>
+<li><p><strong>cb_pos_one</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – CB position of first rotamer</p></li>
+<li><p><strong>ca_pos_two</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – CA position of second rotamer</p></li>
+<li><p><strong>cb_pos_two</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – CB position of second rotamer</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><p class="first"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if given rotamers do not contain
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if given rotamers do not contain
 exactly (in case of <a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamer" title="promod3.sidechain.RRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamer</span></code></a>) or at least (in case of
 <a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamer" title="promod3.sidechain.FRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamer</span></code></a>) one particle representing the gamma sulfur.</p>
-</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">The result of the raw score plus the average
+</dd>
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The result of the raw score plus the average
 self energies of the input rotamers</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.ResolveCysteins">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">ResolveCysteins</code><span class="sig-paren">(</span><em>rotamer_groups</em>, <em>ca_positions</em>, <em>cb_positions</em><span class="optional">[</span>, <em>score_threshold=45.0</em>, <em>optimize_subrotamers=False</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.ResolveCysteins" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.ResolveCysteins">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">ResolveCysteins</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rotamer_groups</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ca_positions</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cb_positions</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">score_threshold=45.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">optimize_subrotamers=False</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.ResolveCysteins" title="Permalink to this definition">¶</a></dt>
 <dd><p>Tries to optimize disulfid bond network. In a first step, all disulfid bonds
 get detected using <a class="reference internal" href="#promod3.sidechain.DisulfidScore" title="promod3.sidechain.DisulfidScore"><code class="xref py py-func docutils literal notranslate"><span class="pre">DisulfidScore()</span></code></a>. If the value between two rotamers is
 below <strong>score_threshold</strong>, they’re assumed to be bonded. The function then
 tries to detect the largest possible set of disulfide bonds, with no
 cysteine being part of more than one bond. If several largest sets are
 possible, the one with the optimal sum of scores gets estimated.</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>rotamer_groups</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of
-<a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a>/<a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamerGroup</span></code></a>) – Every group represents a cysteine</li>
-<li><strong>ca_positions</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – The CA positions of the according rotamers</li>
-<li><strong>cb_positions</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – The CB positions of the according rotamers</li>
-<li><strong>score_threshold</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The score two rotamers must have to be considered
-as a disulfid bond</li>
-<li><strong>optimize_subrotamers</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If set to true and the input consists of flexible
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>rotamer_groups</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of
+<a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a>/<a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamerGroup</span></code></a>) – Every group represents a cysteine</p></li>
+<li><p><strong>ca_positions</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – The CA positions of the according rotamers</p></li>
+<li><p><strong>cb_positions</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – The CB positions of the according rotamers</p></li>
+<li><p><strong>score_threshold</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The score two rotamers must have to be considered
+as a disulfid bond</p></li>
+<li><p><strong>optimize_subrotamers</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If set to true and the input consists of flexible
 rotamer groups, the active subrotamers get
 optimized. For every pair of rotamers
 participating in a disulfid bond, the subrotamers
 with best <a class="reference internal" href="#promod3.sidechain.DisulfidScore" title="promod3.sidechain.DisulfidScore"><code class="xref py py-func docutils literal notranslate"><span class="pre">DisulfidScore()</span></code></a> get activated in
 the input <strong>rotamer_groups</strong>. This has an effect
-when the rotamers get applied on residues.</li>
+when the rotamers get applied on residues.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#tuple" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> containing two <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> objects with equal
-length. Both lists contain <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#tuple" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> objects with two elements.
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#tuple" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> containing two <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> objects with equal
+length. Both lists contain <a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#tuple" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a> objects with two elements.
 The tuples in the first list describe the indices of cysteins
 participating in disulfid bonds. The tuples in the second list
 describe the optimal rotamers in the according rotamer groups.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -152,12 +148,12 @@ describe the optimal rotamers in the according rotamer groups.</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -174,7 +170,7 @@ describe the optimal rotamers in the according rotamer groups.</p>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a><ul>
       <li>Previous: <a href="graph.html" title="previous chapter">Rotamer Graph</a></li>
       <li>Next: <a href="loading.html" title="next chapter">Loading Rotamer Libraries</a></li>
   </ul></li>
@@ -183,27 +179,33 @@ describe the optimal rotamers in the according rotamer groups.</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/sidechain/disulfid.rst.txt"
diff --git a/doc/html/sidechain/frame.html b/doc/html/sidechain/frame.html
index edea19a3247e3b722dcf1ad18c359b6b407ff0f3..fa01ad4240ca9fc95cffbd78cdc5ae4d73700877 100644
--- a/doc/html/sidechain/frame.html
+++ b/doc/html/sidechain/frame.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Frame - The Rigid Part &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Frame - The Rigid Part &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Rotamer Constructor" href="rotamer_constructor.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,10 +31,12 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="frame-the-rigid-part">
-<h1>Frame - The Rigid Part<a class="headerlink" href="#frame-the-rigid-part" title="Permalink to this headline">¶</a></h1>
+  <section id="frame-the-rigid-part">
+<h1>Frame - The Rigid Part<a class="headerlink" href="#frame-the-rigid-part" title="Permalink to this heading">¶</a></h1>
 <p>In contrast to the rotamers, the frame is a rigid object. It either
 represents the protein backbone or sidechains kept rigid during the
 sidechain modelling process. Regions, that should not be occupied by
@@ -42,77 +45,67 @@ The frame is built using single frame residues, all of them associated to
 a residues index. If a rotamer associated to the same residue index
 enters the frame energy calculation, all interaction with particles
 belonging to the frame residue with the same residue index are neglected.</p>
-<div class="section" id="the-frame-objects">
-<h2>The Frame Objects<a class="headerlink" href="#the-frame-objects" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.sidechain.FrameResidue">
-<em class="property">class </em><code class="descclassname">promod3.sidechain.</code><code class="descname">FrameResidue</code><span class="sig-paren">(</span><em>particles</em>, <em>residue_index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FrameResidue" 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 last simple">
-<li><strong>particles</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="rotamer.html#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal notranslate"><span class="pre">Particle</span></code></a>) – particles building frame residue</li>
-<li><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Interaction energies between the constructed frame
+<section id="the-frame-objects">
+<h2>The Frame Objects<a class="headerlink" href="#the-frame-objects" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.sidechain.FrameResidue">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">FrameResidue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">particles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residue_index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FrameResidue" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>particles</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="rotamer.html#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal notranslate"><span class="pre">Particle</span></code></a>) – particles building frame residue</p></li>
+<li><p><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Interaction energies between the constructed frame
 residue and any rotamer associated to the same
-residue index are neglected</li>
+residue index are neglected</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.sidechain.FrameResidue.__len__">
-<code class="descname">__len__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FrameResidue.__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 particles in <a class="reference internal" href="#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a></td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FrameResidue.__len__">
+<span class="sig-name descname"><span class="pre">__len__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FrameResidue.__len__" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Number of particles in <a class="reference internal" href="#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.FrameResidue.__getitem__">
-<code class="descname">__getitem__</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FrameResidue.__getitem__" 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>index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – <a class="reference internal" href="rotamer.html#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal notranslate"><span class="pre">Particle</span></code></a> index</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference internal" href="rotamer.html#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal notranslate"><span class="pre">Particle</span></code></a> at position <strong>index</strong></td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if index is invalid</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FrameResidue.__getitem__">
+<span class="sig-name descname"><span class="pre">__getitem__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FrameResidue.__getitem__" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – <a class="reference internal" href="rotamer.html#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal notranslate"><span class="pre">Particle</span></code></a> index</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="rotamer.html#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal notranslate"><span class="pre">Particle</span></code></a> at position <strong>index</strong></p>
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if index is invalid</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.sidechain.Frame">
-<em class="property">class </em><code class="descclassname">promod3.sidechain.</code><code class="descname">Frame</code><span class="sig-paren">(</span><em>frame_residues</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.Frame" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.sidechain.Frame">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">Frame</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">frame_residues</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.Frame" title="Permalink to this definition">¶</a></dt>
 <dd><p>The <a class="reference internal" href="#promod3.sidechain.Frame" title="promod3.sidechain.Frame"><code class="xref py py-class docutils literal notranslate"><span class="pre">Frame</span></code></a> object is used as a container for rigid particles, that
 can be passed to rotamer groups for calculating frame energies.</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>frame_residues</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a>) – residues building the frame.</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>frame_residues</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a>) – residues building the frame.</p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -133,12 +126,12 @@ can be passed to rotamer groups for calculating frame energies.</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -155,7 +148,7 @@ can be passed to rotamer groups for calculating frame energies.</p>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a><ul>
       <li>Previous: <a href="rotamer.html" title="previous chapter">Representing Sidechains - Rotamers &amp; Co.</a></li>
       <li>Next: <a href="rotamer_constructor.html" title="next chapter">Rotamer Constructor</a></li>
   </ul></li>
@@ -164,27 +157,33 @@ can be passed to rotamer groups for calculating frame energies.</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/sidechain/frame.rst.txt"
diff --git a/doc/html/sidechain/graph.html b/doc/html/sidechain/graph.html
index e2d8d5341bb8a2674ea6aa3c4c0193f1c9209f50..0608fcb16aeef727655a2100abcf3a82f753648d 100644
--- a/doc/html/sidechain/graph.html
+++ b/doc/html/sidechain/graph.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Rotamer Graph &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Rotamer Graph &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Disulfid Bond Evaluation" href="disulfid.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,48 +31,48 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="rotamer-graph">
-<h1>Rotamer Graph<a class="headerlink" href="#rotamer-graph" title="Permalink to this headline">¶</a></h1>
+  <section id="rotamer-graph">
+<h1>Rotamer Graph<a class="headerlink" href="#rotamer-graph" title="Permalink to this heading">¶</a></h1>
 <p>Once having a frame representing the rigid parts, the internal energies in
 rotamer groups can be calculated. To come to a final solution of the sidechain
 modelling problem, the pairwise energies also have to be evaluated and an
 overall solution has to be found. ProMod3 implements a
 <a class="reference internal" href="../core/graph_minimizer.html#promod3.core.GraphMinimizer" title="promod3.core.GraphMinimizer"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.core.GraphMinimizer</span></code></a> that allows to find solutions using
 tree decomposition, A* and Monte Carlo algorithms.</p>
-<dl class="class">
-<dt id="promod3.sidechain.RotamerGraph">
-<em class="property">class </em><code class="descclassname">promod3.sidechain.</code><code class="descname">RotamerGraph</code><a class="headerlink" href="#promod3.sidechain.RotamerGraph" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerGraph">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">RotamerGraph</span></span><a class="headerlink" href="#promod3.sidechain.RotamerGraph" title="Permalink to this definition">¶</a></dt>
 <dd><p>The <a class="reference internal" href="#promod3.sidechain.RotamerGraph" title="promod3.sidechain.RotamerGraph"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerGraph</span></code></a> objects inherits from
 <a class="reference internal" href="../core/graph_minimizer.html#promod3.core.GraphMinimizer" title="promod3.core.GraphMinimizer"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.core.GraphMinimizer</span></code></a> and extends the minimizer by static
 initialization functions.</p>
-<dl class="staticmethod">
-<dt id="promod3.sidechain.RotamerGraph.CreateFromRRMList">
-<em class="property">static </em><code class="descname">CreateFromRRMList</code><span class="sig-paren">(</span><em>rotamer_groups</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerGraph.CreateFromRRMList" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerGraph.CreateFromRRMList">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">CreateFromRRMList</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rotamer_groups</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerGraph.CreateFromRRMList" title="Permalink to this definition">¶</a></dt>
 <dd></dd></dl>
 
-<dl class="staticmethod">
-<dt id="promod3.sidechain.RotamerGraph.CreateFromFRMList">
-<em class="property">static </em><code class="descname">CreateFromFRMList</code><span class="sig-paren">(</span><em>rotamer_groups</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerGraph.CreateFromFRMList" 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>rotamer_groups</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – <a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamerGroup</span></code></a> or <a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerGraph.CreateFromFRMList">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">CreateFromFRMList</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rotamer_groups</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerGraph.CreateFromFRMList" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>rotamer_groups</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – <a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamerGroup</span></code></a> or <a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a>
 objects representing the possible sidechain
-conformations for every amino acid position.</td>
-</tr>
-</tbody>
-</table>
+conformations for every amino acid position.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -92,12 +93,12 @@ conformations for every amino acid position.</td>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -114,7 +115,7 @@ conformations for every amino acid position.</td>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a><ul>
       <li>Previous: <a href="rotamer_lib.html" title="previous chapter">Rotamer Library</a></li>
       <li>Next: <a href="disulfid.html" title="next chapter">Disulfid Bond Evaluation</a></li>
   </ul></li>
@@ -123,27 +124,33 @@ conformations for every amino acid position.</td>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/sidechain/graph.rst.txt"
diff --git a/doc/html/sidechain/index.html b/doc/html/sidechain/index.html
index 95b85c1a42d228363605f6ca5fadcc02e63e3df0..81c9ca94a4c3438af74a2a69637b38ef13021dc6 100644
--- a/doc/html/sidechain/index.html
+++ b/doc/html/sidechain/index.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>sidechain - Sidechain Modelling &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>sidechain - Sidechain Modelling &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Representing Sidechains - Rotamers &amp; Co." href="rotamer.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,12 +31,14 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="module-promod3.sidechain">
-<span id="sidechain-sidechain-modelling"></span><h1><a class="reference internal" href="#module-promod3.sidechain" title="promod3.sidechain: Sidechain Modelling"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code></a> - Sidechain Modelling<a class="headerlink" href="#module-promod3.sidechain" title="Permalink to this headline">¶</a></h1>
+  <section id="module-promod3.sidechain">
+<span id="sidechain-sidechain-modelling"></span><h1><a class="reference internal" href="#module-promod3.sidechain" title="promod3.sidechain: Sidechain Modelling"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code></a> - Sidechain Modelling<a class="headerlink" href="#module-promod3.sidechain" title="Permalink to this heading">¶</a></h1>
 <p>Tools and algorithms to model sidechains given backbone coordinates. The full
-module is heavily based on SCWRL4 <a class="reference internal" href="../references.html#krivov2009" id="id1">[krivov2009]</a> . The according paper describes
+module is heavily based on SCWRL4 <a class="reference internal" href="../references.html#krivov2009" id="id1"><span>[krivov2009]</span></a> . The according paper describes
 the modelling of sidechains using two different 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>
@@ -44,8 +47,8 @@ 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 full fletched sidechain reconstruction
 pipelines available in the modelling module.</p>
-<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">ost</span> <span class="k">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="k">import</span> <span class="n">sidechain</span>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><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>
 
 <span class="c1"># 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="s1">&#39;data/1CRN.pdb&#39;</span><span class="p">)</span>
@@ -158,16 +161,32 @@ pipelines available in the modelling module.</p>
 <li class="toctree-l2"><a class="reference internal" href="rotamer_lib.html#rotamer-configurations">Rotamer Configurations</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="graph.html">Rotamer Graph</a></li>
-<li class="toctree-l1"><a class="reference internal" href="disulfid.html">Disulfid Bond Evaluation</a></li>
-<li class="toctree-l1"><a class="reference internal" href="loading.html">Loading Rotamer Libraries</a></li>
-<li class="toctree-l1"><a class="reference internal" href="subrotamer_optimizer.html">Subrotamer Optimization</a></li>
+<li class="toctree-l1"><a class="reference internal" href="graph.html">Rotamer Graph</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="graph.html#promod3.sidechain.RotamerGraph"><code class="docutils literal notranslate"><span class="pre">RotamerGraph</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="disulfid.html">Disulfid Bond Evaluation</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="disulfid.html#promod3.sidechain.DisulfidScore"><code class="docutils literal notranslate"><span class="pre">DisulfidScore()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="disulfid.html#promod3.sidechain.ResolveCysteins"><code class="docutils literal notranslate"><span class="pre">ResolveCysteins()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="loading.html">Loading Rotamer Libraries</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="loading.html#promod3.sidechain.LoadBBDepLib"><code class="docutils literal notranslate"><span class="pre">LoadBBDepLib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="loading.html#promod3.sidechain.LoadLib"><code class="docutils literal notranslate"><span class="pre">LoadLib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="loading.html#promod3.sidechain.ReadDunbrackFile"><code class="docutils literal notranslate"><span class="pre">ReadDunbrackFile()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="subrotamer_optimizer.html">Subrotamer Optimization</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="subrotamer_optimizer.html#promod3.sidechain.SubrotamerOptimizer"><code class="docutils literal notranslate"><span class="pre">SubrotamerOptimizer()</span></code></a></li>
+</ul>
+</li>
 </ul>
 </div>
-</div>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -188,12 +207,12 @@ pipelines available in the modelling module.</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -217,27 +236,33 @@ pipelines available in the modelling module.</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/sidechain/index.rst.txt"
diff --git a/doc/html/sidechain/loading.html b/doc/html/sidechain/loading.html
index 331b5e35c793d00857c02ca38c91cbe82aa43753..3b0bc671cac9b1e2436ebecd378e13be5d597e82 100644
--- a/doc/html/sidechain/loading.html
+++ b/doc/html/sidechain/loading.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Loading Rotamer Libraries &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Loading Rotamer Libraries &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Subrotamer Optimization" href="subrotamer_optimizer.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,87 +31,86 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="loading-rotamer-libraries">
-<h1>Loading Rotamer Libraries<a class="headerlink" href="#loading-rotamer-libraries" title="Permalink to this headline">¶</a></h1>
+  <section id="loading-rotamer-libraries">
+<h1>Loading Rotamer Libraries<a class="headerlink" href="#loading-rotamer-libraries" title="Permalink to this heading">¶</a></h1>
 <p>There are several rotamer libraries that can be used in ProMod3 . ProMod3
 is optimized for the use with backbone dependent rotamer libraries such
-as the 2010 library provided by the Dunbrack lab <a class="reference internal" href="../references.html#shapovalov2011" id="id1">[shapovalov2011]</a>.
+as the 2010 library provided by the Dunbrack lab <a class="reference internal" href="../references.html#shapovalov2011" id="id1"><span>[shapovalov2011]</span></a>.
 You can request a licence <a class="reference external" href="http://dunbrack.fccc.edu/bbdep2010/">here</a>
 and generate such a library as described in
 extras/data_generation/rotamer_library/README. Alternatively, ProMod3
 provides its own backbone dependent or backbone independent libraries
 that can be loaded with <a class="reference internal" href="#promod3.sidechain.LoadBBDepLib" title="promod3.sidechain.LoadBBDepLib"><code class="xref py py-meth docutils literal notranslate"><span class="pre">LoadBBDepLib()</span></code></a> / <a class="reference internal" href="#promod3.sidechain.LoadLib" title="promod3.sidechain.LoadLib"><code class="xref py py-meth docutils literal notranslate"><span class="pre">LoadLib()</span></code></a>.</p>
-<dl class="method">
-<dt id="promod3.sidechain.LoadBBDepLib">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">LoadBBDepLib</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.LoadBBDepLib" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.LoadBBDepLib">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">LoadBBDepLib</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.LoadBBDepLib" title="Permalink to this definition">¶</a></dt>
 <dd><p>A backbone dependent rotamer library shipped with ProMod3. You can find
 details on how it is created in extras/data_generation/rotamer_library/README.
 All scripts to build it are in the same directory as the README file and
 build the basis for custom versions.</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 requested Library</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="rotamer_lib.html#promod3.sidechain.BBDepRotamerLib" title="promod3.sidechain.BBDepRotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">BBDepRotamerLib</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The requested Library</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="rotamer_lib.html#promod3.sidechain.BBDepRotamerLib" title="promod3.sidechain.BBDepRotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">BBDepRotamerLib</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.LoadLib">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">LoadLib</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.LoadLib" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.LoadLib">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">LoadLib</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.LoadLib" title="Permalink to this definition">¶</a></dt>
 <dd><p>A backbone independent rotamer library shipped with ProMod3. You can find
 details on how it is created in extras/data_generation/rotamer_library/README.
 All scripts to build it are in the same directory as the README file and
 build the basis for custom versions.</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 requested library</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="rotamer_lib.html#promod3.sidechain.RotamerLib" title="promod3.sidechain.RotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLib</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The requested library</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="rotamer_lib.html#promod3.sidechain.RotamerLib" title="promod3.sidechain.RotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLib</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.ReadDunbrackFile">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">ReadDunbrackFile</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.ReadDunbrackFile" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.ReadDunbrackFile">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">ReadDunbrackFile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.ReadDunbrackFile" title="Permalink to this definition">¶</a></dt>
 <dd><p>Reads a file as it is provided when you get a licence for the 2010 library of
 the Dunbrack lab. It can only read the classic version, where all rotamers
 are in a single file. Specific distributions of non-rotameric sidechains
 cannot be read. You can find an example described in
 extras/data_generation/rotamer_library/README</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> – Name of the file</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Throws:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file does not exist, the format
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> – Name of the file</p>
+</dd>
+<dt class="field-even">Throws<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file does not exist, the format
 is not valid or when the library is incomplete leading to problems
 to make the library static. Most likely your input file is
-incomplete if the last problem gets triggered.</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">The read library</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="rotamer_lib.html#promod3.sidechain.BBDepRotamerLib" title="promod3.sidechain.BBDepRotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">BBDepRotamerLib</span></code></a></td>
-</tr>
-</tbody>
-</table>
+incomplete if the last problem gets triggered.</p>
+</dd>
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The read library</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="rotamer_lib.html#promod3.sidechain.BBDepRotamerLib" title="promod3.sidechain.BBDepRotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">BBDepRotamerLib</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -131,12 +131,12 @@ incomplete if the last problem gets triggered.</td>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -153,7 +153,7 @@ incomplete if the last problem gets triggered.</td>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a><ul>
       <li>Previous: <a href="disulfid.html" title="previous chapter">Disulfid Bond Evaluation</a></li>
       <li>Next: <a href="subrotamer_optimizer.html" title="next chapter">Subrotamer Optimization</a></li>
   </ul></li>
@@ -162,27 +162,33 @@ incomplete if the last problem gets triggered.</td>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/sidechain/loading.rst.txt"
diff --git a/doc/html/sidechain/rotamer.html b/doc/html/sidechain/rotamer.html
index 4f5f95470c67447688426c01f224c85ac5785104..f7bdacfd00437e593946c943ba16ce82c4565b91 100644
--- a/doc/html/sidechain/rotamer.html
+++ b/doc/html/sidechain/rotamer.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Representing Sidechains - Rotamers &amp; Co. &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Representing Sidechains - Rotamers &amp; Co. &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Frame - The Rigid Part" href="frame.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,10 +31,12 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="representing-sidechains-rotamers-co">
-<h1>Representing Sidechains - Rotamers &amp; Co.<a class="headerlink" href="#representing-sidechains-rotamers-co" title="Permalink to this headline">¶</a></h1>
+  <section id="representing-sidechains-rotamers-co">
+<h1>Representing Sidechains - Rotamers &amp; Co.<a class="headerlink" href="#representing-sidechains-rotamers-co" title="Permalink to this heading">¶</a></h1>
 <p>A rotamer represents an amino acid sidechain identified by a <a class="reference internal" href="#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>
 and is a set of <a class="reference internal" href="#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal notranslate"><span class="pre">Particle</span></code></a> objects.
 Two types of rotamers exist. The <a class="reference internal" href="#promod3.sidechain.RRMRotamer" title="promod3.sidechain.RRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamer</span></code></a> and <a class="reference internal" href="#promod3.sidechain.FRMRotamer" title="promod3.sidechain.FRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamer</span></code></a>.
@@ -41,296 +44,276 @@ To gather all possible rotamers for one location,
 ProMod3 offers the <a class="reference internal" href="#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamerGroup</span></code></a> and <a class="reference internal" href="#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a>.
 All parts of the structure that are kept rigid can be represented by
 a <a class="reference internal" href="frame.html#promod3.sidechain.Frame" title="promod3.sidechain.Frame"><code class="xref py py-class docutils literal notranslate"><span class="pre">Frame</span></code></a> object.</p>
-<div class="section" id="rotamerid">
-<h2>RotamerID<a class="headerlink" href="#rotamerid" title="Permalink to this headline">¶</a></h2>
+<section id="rotamerid">
+<h2>RotamerID<a class="headerlink" href="#rotamerid" title="Permalink to this heading">¶</a></h2>
 <p>The sidechain module has its own definition of amino acids to satisfy custom
 requirements for the implemented sidechain construction algorithms.
 As an example there are histidine in two possible protonation states,
 that affect the hbond term or different versions of proline/cysteine.</p>
-<dl class="class">
-<dt id="promod3.sidechain.RotamerID">
-<em class="property">class </em><code class="descclassname">promod3.sidechain.</code><code class="descname">RotamerID</code><a class="headerlink" href="#promod3.sidechain.RotamerID" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerID">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">RotamerID</span></span><a class="headerlink" href="#promod3.sidechain.RotamerID" title="Permalink to this definition">¶</a></dt>
 <dd><p>Enumerates the amino acids. Possible values:</p>
 <table class="hlist"><tr><td><ul class="simple">
-<li>ARG - Arginine</li>
-<li>ASN - Asparagine</li>
-<li>ASP - Aspartate</li>
-<li>GLN - Glutamine</li>
-<li>GLU - Glutamate</li>
-<li>LYS - Lysine</li>
-<li>SER - Serine</li>
-<li>CYS - Cystein</li>
-<li>CYH - “free” Cystein</li>
-<li>CYD - disulfid bonded Cystein</li>
-<li>MET - Methionine</li>
-<li>TRP - Tryptophane</li>
-<li>TYR - Tyrosine</li>
-<li>THR - Threonine</li>
+<li><p>ARG - Arginine</p></li>
+<li><p>ASN - Asparagine</p></li>
+<li><p>ASP - Aspartate</p></li>
+<li><p>GLN - Glutamine</p></li>
+<li><p>GLU - Glutamate</p></li>
+<li><p>LYS - Lysine</p></li>
+<li><p>SER - Serine</p></li>
+<li><p>CYS - Cystein</p></li>
+<li><p>CYH - “free” Cystein</p></li>
+<li><p>CYD - disulfid bonded Cystein</p></li>
+<li><p>MET - Methionine</p></li>
+<li><p>TRP - Tryptophane</p></li>
+<li><p>TYR - Tyrosine</p></li>
+<li><p>THR - Threonine</p></li>
 </ul>
 </td><td><ul class="simple">
-<li>VAL - Valine</li>
-<li>ILE - Isoleucine</li>
-<li>LEU - Leucine</li>
-<li>PRO - Proline</li>
-<li>CPR - cis-Proline</li>
-<li>TPR - trans-Proline</li>
-<li>HIS - Histidine</li>
-<li>HSD - d-protonated Histidine</li>
-<li>HSE - e-protonated Histidine</li>
-<li>PHE - Phenylalanine</li>
-<li>GLY - Glycine</li>
-<li>ALA - Alanine</li>
-<li>XXX - Invalid</li>
+<li><p>VAL - Valine</p></li>
+<li><p>ILE - Isoleucine</p></li>
+<li><p>LEU - Leucine</p></li>
+<li><p>PRO - Proline</p></li>
+<li><p>CPR - cis-Proline</p></li>
+<li><p>TPR - trans-Proline</p></li>
+<li><p>HIS - Histidine</p></li>
+<li><p>HSD - d-protonated Histidine</p></li>
+<li><p>HSE - e-protonated Histidine</p></li>
+<li><p>PHE - Phenylalanine</p></li>
+<li><p>GLY - Glycine</p></li>
+<li><p>ALA - Alanine</p></li>
+<li><p>XXX - Invalid</p></li>
 </ul>
 </td></tr></table>
 <p>The RotamerID enum can be accessed either directly as <code class="docutils literal notranslate"><span class="pre">promod3.sidechain.ARG</span></code>
 or as <code class="docutils literal notranslate"><span class="pre">promod3.sidechain.RotamerID.ARG</span></code>.</p>
 </dd></dl>
 
-<div class="section" id="how-can-i-get-an-id">
-<h3>How can I get an ID?<a class="headerlink" href="#how-can-i-get-an-id" title="Permalink to this headline">¶</a></h3>
+<section id="how-can-i-get-an-id">
+<h3>How can I get an ID?<a class="headerlink" href="#how-can-i-get-an-id" title="Permalink to this heading">¶</a></h3>
 <p>The RotamerID enum can directly be accessed from Python. Two convenient
-functions exist to get RotamerIDs from the <a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a> enum
+functions exist to get RotamerIDs from the <a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a> enum
 or from amino acid three letter codes.</p>
-<dl class="method">
-<dt id="promod3.sidechain.TLCToRotID">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">TLCToRotID</code><span class="sig-paren">(</span><em>tlc</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.TLCToRotID" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.TLCToRotID">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">TLCToRotID</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tlc</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.TLCToRotID" title="Permalink to this definition">¶</a></dt>
 <dd><p>Directly translates the three letter code into a RotamerID. Following
 exactly the naming convention defined above.</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>tlc</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Three letter code of amino acid</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference internal" href="#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>, XXX if <strong>tlc</strong> cannot be recoginzed.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.AAToRotID">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">AAToRotID</code><span class="sig-paren">(</span><em>aa</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.AAToRotID" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>tlc</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Three letter code of amino acid</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>, XXX if <strong>tlc</strong> cannot be recoginzed.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.AAToRotID">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">AAToRotID</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">aa</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.AAToRotID" title="Permalink to this definition">¶</a></dt>
 <dd><p>Directly translates <strong>aa</strong> into a RotamerID. Note, that it is not possible
 to generate special IDs this way
 (e.g. HSD, HSE or the special prolines/cysteins) since they’re simply not
-defined in <a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</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>aa</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – AA enum of amino acid</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference internal" href="#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>, XXX if <strong>aa</strong> is invalid.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-</div>
-</div>
-<div class="section" id="the-smallest-building-block-the-particle">
-<h2>The Smallest Building Block - The Particle<a class="headerlink" href="#the-smallest-building-block-the-particle" title="Permalink to this headline">¶</a></h2>
+defined in <a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a></p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>aa</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/aminoacid/#ost.conop.AminoAcid" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.AminoAcid</span></code></a>) – AA enum of amino acid</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>, XXX if <strong>aa</strong> is invalid.</p>
+</dd>
+</dl>
+</dd></dl>
+
+</section>
+</section>
+<section id="the-smallest-building-block-the-particle">
+<h2>The Smallest Building Block - The Particle<a class="headerlink" href="#the-smallest-building-block-the-particle" title="Permalink to this heading">¶</a></h2>
 <p>Particles give raise to more complex objects such as rotamers and frame
 residues. They contain all data required to calculate pairwise energies.
 For every energy function available in ProMod3, there’s a particle creation
 function.</p>
-<dl class="class">
-<dt id="promod3.sidechain.PScoringFunction">
-<em class="property">class </em><code class="descclassname">promod3.sidechain.</code><code class="descname">PScoringFunction</code><a class="headerlink" href="#promod3.sidechain.PScoringFunction" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.sidechain.PScoringFunction">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">PScoringFunction</span></span><a class="headerlink" href="#promod3.sidechain.PScoringFunction" title="Permalink to this definition">¶</a></dt>
 <dd><p>The available scoring functions between <a class="reference internal" href="#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal notranslate"><span class="pre">Particle</span></code></a> objects</p>
 <ul class="simple">
-<li>SCWRL4 - <a class="reference internal" href="#scwrl4-scoring-function"><span class="std std-ref">The SCWRL4 scoring function</span></a></li>
-<li>SCWRL3 - <a class="reference internal" href="#scwrl3-scoring-function"><span class="std std-ref">The SCWRL3 scoring function</span></a></li>
-<li>VINA - <a class="reference internal" href="#vina-scoring-function"><span class="std std-ref">The VINA scoring function</span></a></li>
+<li><p>SCWRL4 - <a class="reference internal" href="#scwrl4-scoring-function"><span class="std std-ref">The SCWRL4 scoring function</span></a></p></li>
+<li><p>SCWRL3 - <a class="reference internal" href="#scwrl3-scoring-function"><span class="std std-ref">The SCWRL3 scoring function</span></a></p></li>
+<li><p>VINA - <a class="reference internal" href="#vina-scoring-function"><span class="std std-ref">The VINA scoring function</span></a></p></li>
 </ul>
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.sidechain.Particle">
-<em class="property">class </em><code class="descclassname">promod3.sidechain.</code><code class="descname">Particle</code><a class="headerlink" href="#promod3.sidechain.Particle" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.sidechain.Particle">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">Particle</span></span><a class="headerlink" href="#promod3.sidechain.Particle" title="Permalink to this definition">¶</a></dt>
 <dd><p>The particle class. There’s no constructor. You can either use the
 <a class="reference internal" href="rotamer_constructor.html#promod3.sidechain.RotamerConstructor" title="promod3.sidechain.RotamerConstructor"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerConstructor</span></code></a> to create full <code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerGroup</span></code> objects
 with all underlying particles or the energy function specific creation
 functions.</p>
-<dl class="method">
-<dt id="promod3.sidechain.Particle.PairwiseScore">
-<code class="descname">PairwiseScore</code><span class="sig-paren">(</span><em>other_particle</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.Particle.PairwiseScore" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.Particle.PairwiseScore">
+<span class="sig-name descname"><span class="pre">PairwiseScore</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other_particle</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.Particle.PairwiseScore" title="Permalink to this definition">¶</a></dt>
 <dd><p>Calculates score between the two particles</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_particle</strong> (<a class="reference internal" href="#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal notranslate"><span class="pre">Particle</span></code></a>) – The interacting particle</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The score</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if the scoring function
-parametrization of the two particles is inconsistent</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.Particle.GetName">
-<code class="descname">GetName</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.Particle.GetName" 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 name of the particle, which corresponds to the
-atom name</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.Particle.GetCollisionDistance">
-<code class="descname">GetCollisionDistance</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.Particle.GetCollisionDistance" 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 “collision distance” all pairs of particles with
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>other_particle</strong> (<a class="reference internal" href="#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal notranslate"><span class="pre">Particle</span></code></a>) – The interacting particle</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The score</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if the scoring function
+parametrization of the two particles is inconsistent</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.Particle.GetName">
+<span class="sig-name descname"><span class="pre">GetName</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.Particle.GetName" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The name of the particle, which corresponds to the
+atom name</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.Particle.GetCollisionDistance">
+<span class="sig-name descname"><span class="pre">GetCollisionDistance</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.Particle.GetCollisionDistance" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The “collision distance” all pairs of particles with
 their distance below the sum of their collision
 distances are considered as interacting and thus
-evaluated by the underlying scoring function.</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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.Particle.GetPos">
-<code class="descname">GetPos</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.Particle.GetPos" 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 position of the particle</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.Particle.GetScoringFunction">
-<code class="descname">GetScoringFunction</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.Particle.GetScoringFunction" 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 underlying scoring function</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.sidechain.PScoringFunction" title="promod3.sidechain.PScoringFunction"><code class="xref py py-class docutils literal notranslate"><span class="pre">PScoringFunction</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-</dd></dl>
-
-<div class="section" id="the-scwrl4-scoring-function">
-<span id="scwrl4-scoring-function"></span><h3>The SCWRL4 scoring function<a class="headerlink" href="#the-scwrl4-scoring-function" title="Permalink to this headline">¶</a></h3>
+evaluated by the underlying scoring function.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.Particle.GetPos">
+<span class="sig-name descname"><span class="pre">GetPos</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.Particle.GetPos" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The position of the particle</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.Particle.GetScoringFunction">
+<span class="sig-name descname"><span class="pre">GetScoringFunction</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.Particle.GetScoringFunction" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The underlying scoring function</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.sidechain.PScoringFunction" title="promod3.sidechain.PScoringFunction"><code class="xref py py-class docutils literal notranslate"><span class="pre">PScoringFunction</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<section id="the-scwrl4-scoring-function">
+<span id="scwrl4-scoring-function"></span><h3>The SCWRL4 scoring function<a class="headerlink" href="#the-scwrl4-scoring-function" title="Permalink to this heading">¶</a></h3>
 <p>The SCWRL4 scoring function combines a Lennard-Jones style term with
 a hydrogen bond term. Details can be found in the relevant publication
-<a class="reference internal" href="../references.html#krivov2009" id="id1">[krivov2009]</a>.</p>
-<dl class="class">
-<dt id="promod3.sidechain.SCWRL4ParticleType">
-<em class="property">class </em><code class="descclassname">promod3.sidechain.</code><code class="descname">SCWRL4ParticleType</code><a class="headerlink" href="#promod3.sidechain.SCWRL4ParticleType" title="Permalink to this definition">¶</a></dt>
+<a class="reference internal" href="../references.html#krivov2009" id="id1"><span>[krivov2009]</span></a>.</p>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.sidechain.SCWRL4ParticleType">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">SCWRL4ParticleType</span></span><a class="headerlink" href="#promod3.sidechain.SCWRL4ParticleType" title="Permalink to this definition">¶</a></dt>
 <dd><p>The SCWRL4 energy function differentiates between following particle types
 that define the behaviour of the Lennard-Jones style term:</p>
 <ul class="simple">
-<li>HParticle   - represents hydrogen</li>
-<li>CParticle   - default representation of a carbon</li>
-<li>CH1Particle - represents carbon bound to 1 hydrogen</li>
-<li>CH2Particle - represents carbon bound to 2 hydrogen</li>
-<li>CH3Particle - represents carbon bound to 3 hydrogen</li>
-<li>NParticle   - represents nitrogen</li>
-<li>OParticle   - default representation of oxygen</li>
-<li>OCParticle  - represents carbonyl-oxygen for ASP/GLU</li>
-<li>SParticle   - represents sulfur</li>
+<li><p>HParticle   - represents hydrogen</p></li>
+<li><p>CParticle   - default representation of a carbon</p></li>
+<li><p>CH1Particle - represents carbon bound to 1 hydrogen</p></li>
+<li><p>CH2Particle - represents carbon bound to 2 hydrogen</p></li>
+<li><p>CH3Particle - represents carbon bound to 3 hydrogen</p></li>
+<li><p>NParticle   - represents nitrogen</p></li>
+<li><p>OParticle   - default representation of oxygen</p></li>
+<li><p>OCParticle  - represents carbonyl-oxygen for ASP/GLU</p></li>
+<li><p>SParticle   - represents sulfur</p></li>
 </ul>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.CreateSCWRL4Particle">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">CreateSCWRL4Particle</code><span class="sig-paren">(</span><em>name</em>, <em>particle_type</em>, <em>pos</em><span class="optional">[</span>, <em>charge</em>, <em>lone_pairs=None</em>, <em>polar_direction=None</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.CreateSCWRL4Particle" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.CreateSCWRL4Particle">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">CreateSCWRL4Particle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">particle_type</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">charge</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lone_pairs=None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">polar_direction=None</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.CreateSCWRL4Particle" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates and returns a <a class="reference internal" href="#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal notranslate"><span class="pre">Particle</span></code></a> that can evaluate the SCWRL4 scoring
 function</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>name</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – The name of the particle</li>
-<li><strong>particle_type</strong> (<a class="reference internal" href="#promod3.sidechain.SCWRL4ParticleType" title="promod3.sidechain.SCWRL4ParticleType"><code class="xref py py-class docutils literal notranslate"><span class="pre">SCWRL4ParticleType</span></code></a>) – The type of the particle</li>
-<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – The position of the particle</li>
-<li><strong>charge</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The charge of the particle, relevant for the hydrogen
-bond term</li>
-<li><strong>lone_pairs</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3List</span></code>) – Direction of all possible lone pairs of the particle,
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – The name of the particle</p></li>
+<li><p><strong>particle_type</strong> (<a class="reference internal" href="#promod3.sidechain.SCWRL4ParticleType" title="promod3.sidechain.SCWRL4ParticleType"><code class="xref py py-class docutils literal notranslate"><span class="pre">SCWRL4ParticleType</span></code></a>) – The type of the particle</p></li>
+<li><p><strong>pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – The position of the particle</p></li>
+<li><p><strong>charge</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The charge of the particle, relevant for the hydrogen
+bond term</p></li>
+<li><p><strong>lone_pairs</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3List</span></code>) – Direction of all possible lone pairs of the particle,
 relevant for the hydrogen bond term. If set, the
 particle is a potential hydrogen bond acceptor.
 An example would be the Serine OG atom, where you can
 represent the two lone pairs with vectors pointing
-from the OG position towards the lone pair centers.</li>
-<li><strong>polar_direction</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – The polar direction of the particle,
+from the OG position towards the lone pair centers.</p></li>
+<li><p><strong>polar_direction</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – The polar direction of the particle,
 relevant for the hydrogen bond term. If set, the
 particle is a potential hydrogen bond donor. An
 example would be the Serine HG hydrogen. The
 <em>polar_direction</em> would be a vector
-estimated as follows: hg_pos-og_pos.</li>
+estimated as follows: hg_pos-og_pos.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="the-scwrl3-scoring-function">
-<span id="scwrl3-scoring-function"></span><h3>The SCWRL3 scoring function<a class="headerlink" href="#the-scwrl3-scoring-function" title="Permalink to this headline">¶</a></h3>
+</section>
+<section id="the-scwrl3-scoring-function">
+<span id="scwrl3-scoring-function"></span><h3>The SCWRL3 scoring function<a class="headerlink" href="#the-scwrl3-scoring-function" title="Permalink to this heading">¶</a></h3>
 <p>The SCWRL3 scoring function implements a simple repulsion term that depends on
 the hard-sphere radius of the involved particles.
-Details can be found in the relevant publication <a class="reference internal" href="../references.html#canutescu2003" id="id2">[canutescu2003]</a>.</p>
-<dl class="method">
-<dt id="promod3.sidechain.CreateSCWRL3Particle">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">CreateSCWRL3Particle</code><span class="sig-paren">(</span><em>name</em>, <em>radius</em>, <em>pos</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.CreateSCWRL3Particle" title="Permalink to this definition">¶</a></dt>
+Details can be found in the relevant publication <a class="reference internal" href="../references.html#canutescu2003" id="id2"><span>[canutescu2003]</span></a>.</p>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.CreateSCWRL3Particle">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">CreateSCWRL3Particle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">radius</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.CreateSCWRL3Particle" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates and returns a <a class="reference internal" href="#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal notranslate"><span class="pre">Particle</span></code></a> that can evaluate the SCWRL3 scoring
 function</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>name</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – The name of the particle</li>
-<li><strong>radius</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The hard-sphere radius of the particle, relevant for the
-repulsion term.</li>
-<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – The position of the particle</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – The name of the particle</p></li>
+<li><p><strong>radius</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The hard-sphere radius of the particle, relevant for the
+repulsion term.</p></li>
+<li><p><strong>pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – The position of the particle</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-<div class="section" id="the-vina-scoring-function">
-<span id="vina-scoring-function"></span><h3>The VINA scoring function<a class="headerlink" href="#the-vina-scoring-function" title="Permalink to this headline">¶</a></h3>
+</section>
+<section id="the-vina-scoring-function">
+<span id="vina-scoring-function"></span><h3>The VINA scoring function<a class="headerlink" href="#the-vina-scoring-function" title="Permalink to this heading">¶</a></h3>
 <p>The VINA scoring function is a combination of functional forms that are named
 gaussian1, gaussian2, repulsion, hydrophobic and hbond in the Autodock Vina
-software <a class="reference internal" href="../references.html#trott2010" id="id3">[trott2010]</a>. VINA only evaluates heavy atoms. Gaussian1, gaussian2
+software <a class="reference internal" href="../references.html#trott2010" id="id3"><span>[trott2010]</span></a>. VINA only evaluates heavy atoms. Gaussian1, gaussian2
 and repulsion are evaluated for all pairs of particles. Hydrophobic is only
 evaluated between C_VINAParticle <a class="reference internal" href="#promod3.sidechain.VINAParticleType" title="promod3.sidechain.VINAParticleType"><code class="xref py py-class docutils literal notranslate"><span class="pre">VINAParticleType</span></code></a> and hbond is
 evaluated between hydrogen bond donor/acceptor pairs. While SCWRL3 and SCWRL4
@@ -339,508 +322,435 @@ VINA is mainly targeted at interactions between sidechains and ligands.</p>
 <p>The functional forms are linearly combined with the default weights from
 the Autodock Vina Software. They’re set as global variables and can be
 extracted with:</p>
-<dl class="method">
-<dt id="promod3.sidechain.GetVINAWeightGaussian1">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">GetVINAWeightGaussian1</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.GetVINAWeightGaussian1" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.GetVINAWeightGaussian1">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">GetVINAWeightGaussian1</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.GetVINAWeightGaussian1" title="Permalink to this definition">¶</a></dt>
 <dd></dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.GetVINAWeightGaussian2">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">GetVINAWeightGaussian2</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.GetVINAWeightGaussian2" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.GetVINAWeightGaussian2">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">GetVINAWeightGaussian2</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.GetVINAWeightGaussian2" title="Permalink to this definition">¶</a></dt>
 <dd></dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.GetVINAWeightRepulsion">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">GetVINAWeightRepulsion</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.GetVINAWeightRepulsion" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.GetVINAWeightRepulsion">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">GetVINAWeightRepulsion</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.GetVINAWeightRepulsion" title="Permalink to this definition">¶</a></dt>
 <dd></dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.GetVINAWeightHydrophobic">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">GetVINAWeightHydrophobic</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.GetVINAWeightHydrophobic" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.GetVINAWeightHydrophobic">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">GetVINAWeightHydrophobic</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.GetVINAWeightHydrophobic" title="Permalink to this definition">¶</a></dt>
 <dd></dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.GetVINAWeightHBond">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">GetVINAWeightHBond</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.GetVINAWeightHBond" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.GetVINAWeightHBond">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">GetVINAWeightHBond</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.GetVINAWeightHBond" title="Permalink to this definition">¶</a></dt>
 <dd></dd></dl>
 
 <p>You can set custom weights. A call to the following functions overwrites
 according weights globally which affects any subsequent score evaluation:</p>
-<dl class="method">
-<dt id="promod3.sidechain.SetVINAWeightGaussian1">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">SetVINAWeightGaussian1</code><span class="sig-paren">(</span><em>w</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SetVINAWeightGaussian1" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.SetVINAWeightGaussian1">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">SetVINAWeightGaussian1</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">w</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SetVINAWeightGaussian1" title="Permalink to this definition">¶</a></dt>
 <dd></dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.SetVINAWeightGaussian2">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">SetVINAWeightGaussian2</code><span class="sig-paren">(</span><em>w</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SetVINAWeightGaussian2" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.SetVINAWeightGaussian2">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">SetVINAWeightGaussian2</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">w</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SetVINAWeightGaussian2" title="Permalink to this definition">¶</a></dt>
 <dd></dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.SetVINAWeightRepulsion">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">SetVINAWeightRepulsion</code><span class="sig-paren">(</span><em>w</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SetVINAWeightRepulsion" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.SetVINAWeightRepulsion">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">SetVINAWeightRepulsion</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">w</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SetVINAWeightRepulsion" title="Permalink to this definition">¶</a></dt>
 <dd></dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.SetVINAWeightHydrophobic">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">SetVINAWeightHydrophobic</code><span class="sig-paren">(</span><em>w</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SetVINAWeightHydrophobic" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.SetVINAWeightHydrophobic">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">SetVINAWeightHydrophobic</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">w</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SetVINAWeightHydrophobic" title="Permalink to this definition">¶</a></dt>
 <dd></dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.SetVINAWeightHBond">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">SetVINAWeightHBond</code><span class="sig-paren">(</span><em>w</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SetVINAWeightHBond" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.SetVINAWeightHBond">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">SetVINAWeightHBond</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">w</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SetVINAWeightHBond" title="Permalink to this definition">¶</a></dt>
 <dd></dd></dl>
 
 <p>The VINA scoring function differentiates between the following particle types:</p>
-<dl class="class">
-<dt id="promod3.sidechain.VINAParticleType">
-<em class="property">class </em><code class="descclassname">promod3.sidechain.</code><code class="descname">VINAParticleType</code><a class="headerlink" href="#promod3.sidechain.VINAParticleType" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.sidechain.VINAParticleType">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">VINAParticleType</span></span><a class="headerlink" href="#promod3.sidechain.VINAParticleType" title="Permalink to this definition">¶</a></dt>
 <dd><ul class="simple">
-<li>O_D_VINAParticle - Oxygen that can be a hydrogen bond donor</li>
-<li>N_D_VINAParticle - Nitrogen that can be a hydrogen bond donor</li>
-<li>O_A_VINAParticle - Oxygen that can be a hydrogen bond acceptor</li>
-<li>N_A_VINAParticle - Nitrogen that can be a hydrogen bond acceptor</li>
-<li>O_AD_VINAParticle - Oxygen that can be a hydrogen bond donor and acceptor</li>
-<li>N_AD_VINAParticle - Nitrogen that can be a hydrogen bond donor and acceptor</li>
-<li>O_VINAParticle - Oxygen</li>
-<li>N_VINAParticle - Nitrogen</li>
-<li>S_VINAParticle - Sulfur</li>
-<li>P_VINAParticle - Phosphorus</li>
-<li>C_P_VINAParticle - Polar carbon that is covalently bound to a charged atom</li>
-<li>C_VINAParticle - Hydrophobic carbon that is only bound to other carbons or hydrogens</li>
-<li>F_VINAParticle - Fluorine</li>
-<li>Cl_VINAParticle - Chlorine</li>
-<li>Br_VINAParticle - Bromine</li>
-<li>I_VINAParticle - Iodine</li>
-<li>M_VINAParticle - Metals</li>
-<li>INVALID_VINAParticle - Invalid particle…</li>
+<li><p>O_D_VINAParticle - Oxygen that can be a hydrogen bond donor</p></li>
+<li><p>N_D_VINAParticle - Nitrogen that can be a hydrogen bond donor</p></li>
+<li><p>O_A_VINAParticle - Oxygen that can be a hydrogen bond acceptor</p></li>
+<li><p>N_A_VINAParticle - Nitrogen that can be a hydrogen bond acceptor</p></li>
+<li><p>O_AD_VINAParticle - Oxygen that can be a hydrogen bond donor and acceptor</p></li>
+<li><p>N_AD_VINAParticle - Nitrogen that can be a hydrogen bond donor and acceptor</p></li>
+<li><p>O_VINAParticle - Oxygen</p></li>
+<li><p>N_VINAParticle - Nitrogen</p></li>
+<li><p>S_VINAParticle - Sulfur</p></li>
+<li><p>P_VINAParticle - Phosphorus</p></li>
+<li><p>C_P_VINAParticle - Polar carbon that is covalently bound to a charged atom</p></li>
+<li><p>C_VINAParticle - Hydrophobic carbon that is only bound to other carbons or hydrogens</p></li>
+<li><p>F_VINAParticle - Fluorine</p></li>
+<li><p>Cl_VINAParticle - Chlorine</p></li>
+<li><p>Br_VINAParticle - Bromine</p></li>
+<li><p>I_VINAParticle - Iodine</p></li>
+<li><p>M_VINAParticle - Metals</p></li>
+<li><p>INVALID_VINAParticle - Invalid particle…</p></li>
 </ul>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.CreateVINAParticle">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">CreateVINAParticle</code><span class="sig-paren">(</span><em>name</em>, <em>particle_type</em>, <em>pos</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.CreateVINAParticle" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.CreateVINAParticle">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">CreateVINAParticle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">particle_type</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pos</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.CreateVINAParticle" title="Permalink to this definition">¶</a></dt>
 <dd><p>Creates and returns a <a class="reference internal" href="#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal notranslate"><span class="pre">Particle</span></code></a> that can evaluate the VINA scoring
 function</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>name</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – The name of the particle</li>
-<li><strong>radius</strong> (<a class="reference internal" href="#promod3.sidechain.VINAParticleType" title="promod3.sidechain.VINAParticleType"><code class="xref py py-class docutils literal notranslate"><span class="pre">VINAParticleType</span></code></a>) – The type of the particle</li>
-<li><strong>pos</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – The position of the particle</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – The name of the particle</p></li>
+<li><p><strong>radius</strong> (<a class="reference internal" href="#promod3.sidechain.VINAParticleType" title="promod3.sidechain.VINAParticleType"><code class="xref py py-class docutils literal notranslate"><span class="pre">VINAParticleType</span></code></a>) – The type of the particle</p></li>
+<li><p><strong>pos</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/geom/vec/#ost.geom.Vec3" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.geom.Vec3</span></code></a>) – The position of the particle</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-</div>
-<div class="section" id="rotamers">
-<h2>Rotamers<a class="headerlink" href="#rotamers" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.sidechain.RRMRotamer">
-<em class="property">class </em><code class="descclassname">promod3.sidechain.</code><code class="descname">RRMRotamer</code><span class="sig-paren">(</span><em>particles</em>, <em>probability</em>, <em>internal_e_prefactor</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer" title="Permalink to this definition">¶</a></dt>
+</section>
+</section>
+<section id="rotamers">
+<h2>Rotamers<a class="headerlink" href="#rotamers" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">RRMRotamer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">particles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">probability</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">internal_e_prefactor</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer" title="Permalink to this definition">¶</a></dt>
 <dd><p>The RRMRotamer represents a rotamer of the so called rigid rotamer 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 last simple">
-<li><strong>particles</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – List of <a class="reference internal" href="#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal notranslate"><span class="pre">Particle</span></code></a> objects</li>
-<li><strong>probability</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Probability of rotamers. In case of the SCWRL4
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>particles</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – List of <a class="reference internal" href="#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal notranslate"><span class="pre">Particle</span></code></a> objects</p></li>
+<li><p><strong>probability</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Probability of rotamers. In case of the SCWRL4
 energy calculation, this directly controls the
-internal energy of that rotamer.</li>
-<li><strong>internal_e_prefactor</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Factor applied to the internal energy calculated
+internal energy of that rotamer.</p></li>
+<li><p><strong>internal_e_prefactor</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Factor applied to the internal energy calculated
 as -log(<strong>probability</strong>/max_probability),
 where max_probability is the maximum
 rotamer probability of any rotamer in a
-particular <a class="reference internal" href="#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamerGroup</span></code></a>.</li>
+particular <a class="reference internal" href="#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamerGroup</span></code></a>.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.sidechain.RRMRotamer.__getitem__">
-<code class="descname">__getitem__</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.__getitem__" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamer.__getitem__">
+<span class="sig-name descname"><span class="pre">__getitem__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.__getitem__" title="Permalink to this definition">¶</a></dt>
 <dd><p>Access particle at specified index</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of particle of interest</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference internal" href="#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal notranslate"><span class="pre">Particle</span></code></a> at specified index</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if index is invalid</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RRMRotamer.__len__">
-<code class="descname">__len__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.__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 particles the rotamer contains</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RRMRotamer.ApplyOnResidue">
-<code class="descname">ApplyOnResidue</code><span class="sig-paren">(</span><em>res</em>, <em>consider_hydrogens=False</em>, <em>new_res_name=&quot;&quot;</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.ApplyOnResidue" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of particle of interest</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal notranslate"><span class="pre">Particle</span></code></a> at specified index</p>
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if index is invalid</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamer.__len__">
+<span class="sig-name descname"><span class="pre">__len__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.__len__" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Number of particles the rotamer contains</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamer.ApplyOnResidue">
+<span class="sig-name descname"><span class="pre">ApplyOnResidue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">consider_hydrogens</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">new_res_name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.ApplyOnResidue" title="Permalink to this definition">¶</a></dt>
 <dd><p>Iterates over every particle and searches for the according atom in
 <strong>res</strong>. If it’s present, the position gets reset to the particle position.
 If not, a new atom gets added to <strong>res</strong>. No atoms are removed from <strong>res</strong>
 in this process.</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>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue to be reconstructed</li>
-<li><strong>consider_hydrogens</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, whether polar hydrogens should be added to
-<strong>res</strong></li>
-<li><strong>new_res_name</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – New name of <strong>res</strong>. Nothing happens in case of the
-default value (“”)</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>res</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue to be reconstructed</p></li>
+<li><p><strong>consider_hydrogens</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, whether polar hydrogens should be added to
+<strong>res</strong></p></li>
+<li><p><strong>new_res_name</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – New name of <strong>res</strong>. Nothing happens in case of the
+default value (“”)</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if not all required backbone atoms
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if not all required backbone atoms
 are present in <em>res</em></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">ApplyOnResidue</code><span class="sig-paren">(</span><em>all_atom</em>, <em>res_idx</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id0">
+<span class="sig-name descname"><span class="pre">ApplyOnResidue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">all_atom</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res_idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id0" title="Permalink to this definition">¶</a></dt>
 <dd><p>Set all sidechain atom positions for given residue to the positions of the
 particles in the rotamer.</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>all_atom</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Container to which to apply rotamer</li>
-<li><strong>res_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index into <em>all_atom</em></li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>all_atom</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Container to which to apply rotamer</p></li>
+<li><p><strong>res_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index into <em>all_atom</em></p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_idx</em> is invalid</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RRMRotamer.ToFrameResidue">
-<code class="descname">ToFrameResidue</code><span class="sig-paren">(</span><em>res_idx</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.ToFrameResidue" title="Permalink to this definition">¶</a></dt>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_idx</em> is invalid</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamer.ToFrameResidue">
+<span class="sig-name descname"><span class="pre">ToFrameResidue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res_idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.ToFrameResidue" title="Permalink to this definition">¶</a></dt>
 <dd><p>Generates and returns a <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a> based on the internal
 particles.</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>res_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx passed over to <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a> constructor</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The constructed <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RRMRotamer.GetInternalEnergyPrefactor">
-<code class="descname">GetInternalEnergyPrefactor</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.GetInternalEnergyPrefactor" 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">Prefactor used in internal energy calculation</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RRMRotamer.GetInternalEnergy">
-<code class="descname">GetInternalEnergy</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.GetInternalEnergy" 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">Internal Energy if calculated, 0.0 otherwise</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RRMRotamer.GetFrameEnergy">
-<code class="descname">GetFrameEnergy</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.GetFrameEnergy" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>res_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx passed over to <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a> constructor</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The constructed <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamer.GetInternalEnergyPrefactor">
+<span class="sig-name descname"><span class="pre">GetInternalEnergyPrefactor</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.GetInternalEnergyPrefactor" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Prefactor used in internal energy calculation</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamer.GetInternalEnergy">
+<span class="sig-name descname"><span class="pre">GetInternalEnergy</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.GetInternalEnergy" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Internal Energy if calculated, 0.0 otherwise</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamer.GetFrameEnergy">
+<span class="sig-name descname"><span class="pre">GetFrameEnergy</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.GetFrameEnergy" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns frame energy. This energy can either be manually set or calculated
 using a <a class="reference internal" href="frame.html#promod3.sidechain.Frame" title="promod3.sidechain.Frame"><code class="xref py py-class docutils literal notranslate"><span class="pre">Frame</span></code></a> and the <a class="reference internal" href="#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamerGroup</span></code></a> this rotamer
 belongs to.</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">Frame energy if calculated, 0.0 otherwise</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RRMRotamer.GetSelfEnergy">
-<code class="descname">GetSelfEnergy</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.GetSelfEnergy" 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">Self energy consisting of internal plus frame energy</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RRMRotamer.GetProbability">
-<code class="descname">GetProbability</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.GetProbability" 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">probability of this rotamer</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RRMRotamer.SetInternalEnergyPrefactor">
-<code class="descname">SetInternalEnergyPrefactor</code><span class="sig-paren">(</span><em>prefactor</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.SetInternalEnergyPrefactor" 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>energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Internal energy prefactor to be set</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RRMRotamer.SetInternalEnergy">
-<code class="descname">SetInternalEnergy</code><span class="sig-paren">(</span><em>energy</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.SetInternalEnergy" 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>energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Internal energy to be set</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RRMRotamer.SetFrameEnergy">
-<code class="descname">SetFrameEnergy</code><span class="sig-paren">(</span><em>energy</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.SetFrameEnergy" 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>energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Frame energy to be set</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RRMRotamer.AddFrameEnergy">
-<code class="descname">AddFrameEnergy</code><span class="sig-paren">(</span><em>energy</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.AddFrameEnergy" 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>energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Frame energy to be added</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RRMRotamer.SetProbability">
-<code class="descname">SetProbability</code><span class="sig-paren">(</span><em>probability</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.SetProbability" 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>energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Internal probability to be set</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-</dd></dl>
-
-<dl class="class">
-<dt id="promod3.sidechain.FRMRotamer">
-<em class="property">class </em><code class="descclassname">promod3.sidechain.</code><code class="descname">FRMRotamer</code><span class="sig-paren">(</span><em>particles</em>, <em>T</em>, <em>probability</em>, <em>internal_e_prefactor</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Frame energy if calculated, 0.0 otherwise</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamer.GetSelfEnergy">
+<span class="sig-name descname"><span class="pre">GetSelfEnergy</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.GetSelfEnergy" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Self energy consisting of internal plus frame energy</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamer.GetProbability">
+<span class="sig-name descname"><span class="pre">GetProbability</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.GetProbability" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>probability of this rotamer</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamer.SetInternalEnergyPrefactor">
+<span class="sig-name descname"><span class="pre">SetInternalEnergyPrefactor</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefactor</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.SetInternalEnergyPrefactor" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Internal energy prefactor to be set</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamer.SetInternalEnergy">
+<span class="sig-name descname"><span class="pre">SetInternalEnergy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">energy</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.SetInternalEnergy" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Internal energy to be set</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamer.SetFrameEnergy">
+<span class="sig-name descname"><span class="pre">SetFrameEnergy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">energy</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.SetFrameEnergy" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Frame energy to be set</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamer.AddFrameEnergy">
+<span class="sig-name descname"><span class="pre">AddFrameEnergy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">energy</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.AddFrameEnergy" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Frame energy to be added</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamer.SetProbability">
+<span class="sig-name descname"><span class="pre">SetProbability</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">probability</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamer.SetProbability" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Internal probability to be set</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">FRMRotamer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">particles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">T</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">probability</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">internal_e_prefactor</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer" title="Permalink to this definition">¶</a></dt>
 <dd><p>The FRMRotamer represents a rotamer of the so called flexible rotamer model,
 where one rotamer gets represented by several subrotamers.
 The idea is that all particles of all subrotamers are given at
 initialization. Subrotamers are then defined by providing lists of indices.
 One particle can be part of several subrotamers.</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>particles</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – List of <a class="reference internal" href="#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal notranslate"><span class="pre">Particle</span></code></a> objects</li>
-<li><strong>probability</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Probability of rotamers. In case of the SCWRL4
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>particles</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – List of <a class="reference internal" href="#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal notranslate"><span class="pre">Particle</span></code></a> objects</p></li>
+<li><p><strong>probability</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Probability of rotamers. In case of the SCWRL4
 energy calculation, this directly controls the
-internal energy of that rotamer.</li>
-<li><strong>T</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Temperature factor, that is used to generate a final
+internal energy of that rotamer.</p></li>
+<li><p><strong>T</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Temperature factor, that is used to generate a final
 energy given the subrotamers according to the formalism
-described in the SCWRL4 paper.</li>
-<li><strong>internal_e_prefactor</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Factor applied to the internal energy calculated
+described in the SCWRL4 paper.</p></li>
+<li><p><strong>internal_e_prefactor</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Factor applied to the internal energy calculated
 as -log(<strong>probability</strong>/max_probability),
 where max_probability is the maximum
 rotamer probability of any rotamer in a
-particular <a class="reference internal" href="#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a>.</li>
+particular <a class="reference internal" href="#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a>.</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.__getitem__">
-<code class="descname">__getitem__</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.__getitem__" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.__getitem__">
+<span class="sig-name descname"><span class="pre">__getitem__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.__getitem__" title="Permalink to this definition">¶</a></dt>
 <dd><p>Access particle at specified index</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of particle of interest</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><a class="reference internal" href="#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal notranslate"><span class="pre">Particle</span></code></a> at specified index</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if index is invalid</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.__len__">
-<code class="descname">__len__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.__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 particles the rotamer contains</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.GetNumSubrotamers">
-<code class="descname">GetNumSubrotamers</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.GetNumSubrotamers" 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 subrotamers</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.ApplyOnResidue">
-<code class="descname">ApplyOnResidue</code><span class="sig-paren">(</span><em>res</em>, <em>consider_hydrogens=False</em>, <em>new_res_name=&quot;&quot;</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.ApplyOnResidue" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of particle of interest</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#promod3.sidechain.Particle" title="promod3.sidechain.Particle"><code class="xref py py-class docutils literal notranslate"><span class="pre">Particle</span></code></a> at specified index</p>
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if index is invalid</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.__len__">
+<span class="sig-name descname"><span class="pre">__len__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.__len__" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Number of particles the rotamer contains</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.GetNumSubrotamers">
+<span class="sig-name descname"><span class="pre">GetNumSubrotamers</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.GetNumSubrotamers" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Number of subrotamers</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.ApplyOnResidue">
+<span class="sig-name descname"><span class="pre">ApplyOnResidue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">consider_hydrogens</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">new_res_name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.ApplyOnResidue" title="Permalink to this definition">¶</a></dt>
 <dd><p>Iterates over every particle of the active subrotamer and searches for the
 according atom in <strong>res</strong>. If it’s present, the position gets reset to the
 particle position. If not, a new atom gets added to <strong>res</strong>.
 No atoms are removed from <strong>res</strong> in this process.</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>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue to be reconstructed</li>
-<li><strong>consider_hydrogens</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, whether polar hydrogens should be added to
-the sidechain</li>
-<li><strong>new_res_name</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – New name of residue. Nothing happens in case of the
-default value (“”)</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>res</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue to be reconstructed</p></li>
+<li><p><strong>consider_hydrogens</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, whether polar hydrogens should be added to
+the sidechain</p></li>
+<li><p><strong>new_res_name</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – New name of residue. Nothing happens in case of the
+default value (“”)</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if not all required backbone atoms
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if not all required backbone atoms
 are present in <em>res</em></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">ApplyOnResidue</code><span class="sig-paren">(</span><em>all_atom</em>, <em>res_idx</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id4">
+<span class="sig-name descname"><span class="pre">ApplyOnResidue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">all_atom</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res_idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id4" title="Permalink to this definition">¶</a></dt>
 <dd><p>Set all sidechain atom positions for given residue to the positions of the
 particles in the active surotamer.</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>all_atom</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Container to which to apply rotamer</li>
-<li><strong>res_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index into <em>all_atom</em></li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>all_atom</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Container to which to apply rotamer</p></li>
+<li><p><strong>res_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index into <em>all_atom</em></p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_idx</em> is invalid</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.ToFrameResidue">
-<code class="descname">ToFrameResidue</code><span class="sig-paren">(</span><em>res_idx</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.ToFrameResidue" title="Permalink to this definition">¶</a></dt>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>res_idx</em> is invalid</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.ToFrameResidue">
+<span class="sig-name descname"><span class="pre">ToFrameResidue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res_idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.ToFrameResidue" title="Permalink to this definition">¶</a></dt>
 <dd><p>Generates and returns a <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a> based on the internal
 particles of the active subrotamer.</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>res_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx passed over to <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a> constructor</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">The constructed <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a></td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.ToRRMRotamer">
-<code class="descname">ToRRMRotamer</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.ToRRMRotamer" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>res_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Idx passed over to <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a> constructor</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The constructed <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.ToRRMRotamer">
+<span class="sig-name descname"><span class="pre">ToRRMRotamer</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.ToRRMRotamer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Generates and returns a <a class="reference internal" href="#promod3.sidechain.RRMRotamer" title="promod3.sidechain.RRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamer</span></code></a> based on the internal
 particles of the active subrotamer. Following parameters of the
 returned rotamer get set: probability (probability of the whole FRMRotamer),
@@ -849,550 +759,455 @@ frame_energy (The frame energy of that particular subrotamer if already
 calculated), internal_energy (the internal energy of the whole FRMRotamer)</p>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.GetSubrotamerDefinition">
-<code class="descname">GetSubrotamerDefinition</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.GetSubrotamerDefinition" 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>index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of subrotamer</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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of particle indices belonging to this
-particular subrotamer</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if index is invalid</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.GetInternalEnergyPrefactor">
-<code class="descname">GetInternalEnergyPrefactor</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.GetInternalEnergyPrefactor" 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">Prefactor used in internal energy calculation</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.GetInternalEnergy">
-<code class="descname">GetInternalEnergy</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.GetInternalEnergy" 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">Internal Energy if calculated, 0.0 otherwise</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.GetFrameEnergy">
-<code class="descname">GetFrameEnergy</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.GetFrameEnergy" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.GetSubrotamerDefinition">
+<span class="sig-name descname"><span class="pre">GetSubrotamerDefinition</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.GetSubrotamerDefinition" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of subrotamer</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of particle indices belonging to this
+particular subrotamer</p>
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if index is invalid</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.GetInternalEnergyPrefactor">
+<span class="sig-name descname"><span class="pre">GetInternalEnergyPrefactor</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.GetInternalEnergyPrefactor" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Prefactor used in internal energy calculation</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.GetInternalEnergy">
+<span class="sig-name descname"><span class="pre">GetInternalEnergy</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.GetInternalEnergy" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Internal Energy if calculated, 0.0 otherwise</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.GetFrameEnergy">
+<span class="sig-name descname"><span class="pre">GetFrameEnergy</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.GetFrameEnergy" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns frame energy. This energy can either be manually set or calculated
 using a <a class="reference internal" href="frame.html#promod3.sidechain.Frame" title="promod3.sidechain.Frame"><code class="xref py py-class docutils literal notranslate"><span class="pre">Frame</span></code></a> and the <a class="reference internal" href="#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a> this rotamer
 belongs to.</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">Frame energy if calculated, 0.0 otherwise</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt>
-<code class="descname">GetFrameEnergy</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Frame energy if calculated, 0.0 otherwise</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="id5">
+<span class="sig-name descname"><span class="pre">GetFrameEnergy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id5" title="Permalink to this definition">¶</a></dt>
 <dd><p>Returns frame energy of specified <strong>index</strong>.</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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of subrotamer you want the frame energy from</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">Frame energy if calculated, 0.0 otherwise</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if index is invalid</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.GetSelfEnergy">
-<code class="descname">GetSelfEnergy</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.GetSelfEnergy" 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">Self energy consisting of internal plus frame energy</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.GetTemperature">
-<code class="descname">GetTemperature</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.GetTemperature" 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 temperature factor for this rotamer</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.GetProbability">
-<code class="descname">GetProbability</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.GetProbability" 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">Probability of this rotamer</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.SetInternalEnergyPrefactor">
-<code class="descname">SetInternalEnergyPrefactor</code><span class="sig-paren">(</span><em>prefactor</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.SetInternalEnergyPrefactor" 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>energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Internal energy prefactor to be set</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.SetInternalEnergy">
-<code class="descname">SetInternalEnergy</code><span class="sig-paren">(</span><em>energy</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.SetInternalEnergy" 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>energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Internal energy to be set</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.SetFrameEnergy">
-<code class="descname">SetFrameEnergy</code><span class="sig-paren">(</span><em>energy</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.SetFrameEnergy" 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>energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Frame energy for full rotamer to be set</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt>
-<code class="descname">SetFrameEnergy</code><span class="sig-paren">(</span><em>energy</em>, <em>index</em><span class="sig-paren">)</span></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>energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Frame energy for single  subrotamer to be set</li>
-<li><strong>index</strong> – Index of subrotamer</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of subrotamer you want the frame energy from</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Frame energy if calculated, 0.0 otherwise</p>
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if index is invalid</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.GetSelfEnergy">
+<span class="sig-name descname"><span class="pre">GetSelfEnergy</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.GetSelfEnergy" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Self energy consisting of internal plus frame energy</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.GetTemperature">
+<span class="sig-name descname"><span class="pre">GetTemperature</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.GetTemperature" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The temperature factor for this rotamer</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.GetProbability">
+<span class="sig-name descname"><span class="pre">GetProbability</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.GetProbability" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Probability of this rotamer</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.SetInternalEnergyPrefactor">
+<span class="sig-name descname"><span class="pre">SetInternalEnergyPrefactor</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefactor</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.SetInternalEnergyPrefactor" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Internal energy prefactor to be set</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.SetInternalEnergy">
+<span class="sig-name descname"><span class="pre">SetInternalEnergy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">energy</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.SetInternalEnergy" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Internal energy to be set</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.SetFrameEnergy">
+<span class="sig-name descname"><span class="pre">SetFrameEnergy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">energy</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.SetFrameEnergy" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Frame energy for full rotamer to be set</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="id6">
+<span class="sig-name descname"><span class="pre">SetFrameEnergy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">energy</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id6" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Frame energy for single  subrotamer to be set</p></li>
+<li><p><strong>index</strong> – Index of subrotamer</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.AddFrameEnergy">
-<code class="descname">AddFrameEnergy</code><span class="sig-paren">(</span><em>energy</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.AddFrameEnergy" 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>energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Frame energy for full rotamer to be added</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt>
-<code class="descname">AddFrameEnergy</code><span class="sig-paren">(</span><em>energy</em>, <em>index</em><span class="sig-paren">)</span></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>energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Frame energy for single  subrotamer to be added</li>
-<li><strong>index</strong> – Index of subrotamer</li>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.AddFrameEnergy">
+<span class="sig-name descname"><span class="pre">AddFrameEnergy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">energy</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.AddFrameEnergy" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Frame energy for full rotamer to be added</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="id7">
+<span class="sig-name descname"><span class="pre">AddFrameEnergy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">energy</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id7" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Frame energy for single  subrotamer to be added</p></li>
+<li><p><strong>index</strong> – Index of subrotamer</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.AddSubrotamerDefinition">
-<code class="descname">AddSubrotamerDefinition</code><span class="sig-paren">(</span><em>indices</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.AddSubrotamerDefinition" 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>indices</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – List of indices defining a subrotamer</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.SetActiveSubrotamer">
-<code class="descname">SetActiveSubrotamer</code><span class="sig-paren">(</span><em>idx</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.SetActiveSubrotamer" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.AddSubrotamerDefinition">
+<span class="sig-name descname"><span class="pre">AddSubrotamerDefinition</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">indices</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.AddSubrotamerDefinition" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>indices</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – List of indices defining a subrotamer</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.SetActiveSubrotamer">
+<span class="sig-name descname"><span class="pre">SetActiveSubrotamer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.SetActiveSubrotamer" title="Permalink to this definition">¶</a></dt>
 <dd><p>The provided <strong>idx</strong> relates to the subrotamer definitions added at the
 rotamer buildup. This idx controls which subrotamer is used when
-<a class="reference internal" href="#promod3.sidechain.FRMRotamer.ApplyOnResidue" title="promod3.sidechain.FRMRotamer.ApplyOnResidue"><code class="xref py py-func docutils literal notranslate"><span class="pre">ApplyOnResidue()</span></code></a>, <a class="reference internal" href="#promod3.sidechain.FRMRotamer.ToFrameResidue" title="promod3.sidechain.FRMRotamer.ToFrameResidue"><code class="xref py py-func docutils literal notranslate"><span class="pre">ToFrameResidue()</span></code></a> or <a class="reference internal" href="#promod3.sidechain.FRMRotamer.ToRRMRotamer" title="promod3.sidechain.FRMRotamer.ToRRMRotamer"><code class="xref py py-func docutils literal notranslate"><span class="pre">ToRRMRotamer()</span></code></a>
+<a class="reference internal" href="#id4" title="promod3.sidechain.FRMRotamer.ApplyOnResidue"><code class="xref py py-func docutils literal notranslate"><span class="pre">ApplyOnResidue()</span></code></a>, <a class="reference internal" href="#promod3.sidechain.FRMRotamer.ToFrameResidue" title="promod3.sidechain.FRMRotamer.ToFrameResidue"><code class="xref py py-func docutils literal notranslate"><span class="pre">ToFrameResidue()</span></code></a> or <a class="reference internal" href="#promod3.sidechain.FRMRotamer.ToRRMRotamer" title="promod3.sidechain.FRMRotamer.ToRRMRotamer"><code class="xref py py-func docutils literal notranslate"><span class="pre">ToRRMRotamer()</span></code></a>
 gets called. By default, the value is 0 =&gt; first added subrotamer
 definition gets used.</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>idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of subrotamer definition applied on residues</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.GetActiveSubrotamer">
-<code class="descname">GetActiveSubrotamer</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.GetActiveSubrotamer" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of subrotamer definition applied on residues</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.GetActiveSubrotamer">
+<span class="sig-name descname"><span class="pre">GetActiveSubrotamer</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.GetActiveSubrotamer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Get the index of the active subrotamer</p>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.SetTemperature">
-<code class="descname">SetTemperature</code><span class="sig-paren">(</span><em>temperature</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.SetTemperature" 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>temperature</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Temperature factor for this rotamer</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.SetTemperature">
+<span class="sig-name descname"><span class="pre">SetTemperature</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">temperature</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.SetTemperature" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>temperature</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Temperature factor for this rotamer</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamer.SetProbability">
-<code class="descname">SetProbability</code><span class="sig-paren">(</span><em>probability</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.SetProbability" 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>energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Internal probability to be set</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamer.SetProbability">
+<span class="sig-name descname"><span class="pre">SetProbability</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">probability</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamer.SetProbability" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Internal probability to be set</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="rotamer-groups">
-<h2>Rotamer Groups<a class="headerlink" href="#rotamer-groups" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.sidechain.RRMRotamerGroup">
-<em class="property">class </em><code class="descclassname">promod3.sidechain.</code><code class="descname">RRMRotamerGroup</code><span class="sig-paren">(</span><em>rotamers</em>, <em>residue_index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamerGroup" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="rotamer-groups">
+<h2>Rotamer Groups<a class="headerlink" href="#rotamer-groups" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamerGroup">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">RRMRotamerGroup</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rotamers</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residue_index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamerGroup" title="Permalink to this definition">¶</a></dt>
 <dd><p>The RRMRotamerGroup groups several <a class="reference internal" href="#promod3.sidechain.RRMRotamer" title="promod3.sidechain.RRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamer</span></code></a> objects for the same
 residue position.</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>rotamers</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – A list of <a class="reference internal" href="#promod3.sidechain.RRMRotamer" title="promod3.sidechain.RRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamer</span></code></a> objects</li>
-<li><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Location of residue this <a class="reference internal" href="#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>rotamers</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – A list of <a class="reference internal" href="#promod3.sidechain.RRMRotamer" title="promod3.sidechain.RRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamer</span></code></a> objects</p></li>
+<li><p><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Location of residue this <a class="reference internal" href="#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a>
 represents. This index is important when calculating
 frame energies to neglect the interactions to frame
-particles of the same residue.</li>
+particles of the same residue.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if provided <em>rotamers</em> is empty</p>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.sidechain.RRMRotamerGroup.__len__">
-<code class="descname">__len__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamerGroup.__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 rotamers in group</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RRMRotamerGroup.__getitem__">
-<code class="descname">__getitem__</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamerGroup.__getitem__" 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"><a class="reference internal" href="#promod3.sidechain.RRMRotamer" title="promod3.sidechain.RRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamer</span></code></a> at given <em>index</em></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>index</em> is invalid</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RRMRotamerGroup.ApplyOnResidue">
-<code class="descname">ApplyOnResidue</code><span class="sig-paren">(</span><em>index</em>, <em>res</em>, <em>consider_hydrogens=False</em>, <em>new_res_name=&quot;&quot;</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamerGroup.ApplyOnResidue" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">ApplyOnResidue</code><span class="sig-paren">(</span><em>index</em>, <em>all_atom</em>, <em>res_idx</em><span class="sig-paren">)</span></dt>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if provided <em>rotamers</em> is empty</p>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamerGroup.__len__">
+<span class="sig-name descname"><span class="pre">__len__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamerGroup.__len__" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Number of rotamers in group</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamerGroup.__getitem__">
+<span class="sig-name descname"><span class="pre">__getitem__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamerGroup.__getitem__" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.sidechain.RRMRotamer" title="promod3.sidechain.RRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamer</span></code></a> at given <em>index</em></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>index</em> is invalid</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamerGroup.ApplyOnResidue">
+<span class="sig-name descname"><span class="pre">ApplyOnResidue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">consider_hydrogens</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">new_res_name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamerGroup.ApplyOnResidue" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">ApplyOnResidue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">all_atom</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res_idx</span></span></em><span class="sig-paren">)</span></dt>
 <dd><p>Calls ApplyOnResidue function on rotamer at position <em>index</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>index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Rotamer index</li>
-<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue to be reconstructed</li>
-<li><strong>consider_hydrogens</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, whether polar hydrogens should be added to
-the sidechain</li>
-<li><strong>new_res_name</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – New name of residue. Nothing happens in case of the
-default value (“”)</li>
-<li><strong>all_atom</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Container to which to apply rotamer</li>
-<li><strong>res_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index into <em>all_atom</em></li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Rotamer index</p></li>
+<li><p><strong>res</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue to be reconstructed</p></li>
+<li><p><strong>consider_hydrogens</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, whether polar hydrogens should be added to
+the sidechain</p></li>
+<li><p><strong>new_res_name</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – New name of residue. Nothing happens in case of the
+default value (“”)</p></li>
+<li><p><strong>all_atom</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Container to which to apply rotamer</p></li>
+<li><p><strong>res_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index into <em>all_atom</em></p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if not all required backbone atoms
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if not all required backbone atoms
 are present in <em>res</em> or when <em>index</em> or <em>res_idx</em> are invalid</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.RRMRotamerGroup.Merge">
-<code class="descname">Merge</code><span class="sig-paren">(</span><em>other</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamerGroup.Merge" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamerGroup.Merge">
+<span class="sig-name descname"><span class="pre">Merge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamerGroup.Merge" title="Permalink to this definition">¶</a></dt>
 <dd><p>Adds all rotamers in <em>other</em> to current <a class="reference internal" href="#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamerGroup</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>other</strong> (<a class="reference internal" href="#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamerGroup</span></code></a>) – RotamerGroup to be merged in</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RRMRotamerGroup.SetFrameEnergy">
-<code class="descname">SetFrameEnergy</code><span class="sig-paren">(</span><em>frame</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamerGroup.SetFrameEnergy" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>other</strong> (<a class="reference internal" href="#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamerGroup</span></code></a>) – RotamerGroup to be merged in</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamerGroup.SetFrameEnergy">
+<span class="sig-name descname"><span class="pre">SetFrameEnergy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">frame</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamerGroup.SetFrameEnergy" title="Permalink to this definition">¶</a></dt>
 <dd><p>Calculates sets the energy of all rotamers in the group towards the
 given <strong>frame</strong>.</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>frame</strong> (<a class="reference internal" href="frame.html#promod3.sidechain.Frame" title="promod3.sidechain.Frame"><code class="xref py py-class docutils literal notranslate"><span class="pre">Frame</span></code></a>) – Frame containing rigid particles</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RRMRotamerGroup.AddFrameEnergy">
-<code class="descname">AddFrameEnergy</code><span class="sig-paren">(</span><em>frame</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamerGroup.AddFrameEnergy" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>frame</strong> (<a class="reference internal" href="frame.html#promod3.sidechain.Frame" title="promod3.sidechain.Frame"><code class="xref py py-class docutils literal notranslate"><span class="pre">Frame</span></code></a>) – Frame containing rigid particles</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamerGroup.AddFrameEnergy">
+<span class="sig-name descname"><span class="pre">AddFrameEnergy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">frame</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamerGroup.AddFrameEnergy" title="Permalink to this definition">¶</a></dt>
 <dd><p>Calculates adds the energy of all rotamers in the group towards the
 given <strong>frame</strong>.</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>frame</strong> (<a class="reference internal" href="frame.html#promod3.sidechain.Frame" title="promod3.sidechain.Frame"><code class="xref py py-class docutils literal notranslate"><span class="pre">Frame</span></code></a>) – Frame containing rigid particles</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RRMRotamerGroup.ApplySelfEnergyThresh">
-<code class="descname">ApplySelfEnergyThresh</code><span class="sig-paren">(</span><em>thresh=30</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamerGroup.ApplySelfEnergyThresh" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>frame</strong> (<a class="reference internal" href="frame.html#promod3.sidechain.Frame" title="promod3.sidechain.Frame"><code class="xref py py-class docutils literal notranslate"><span class="pre">Frame</span></code></a>) – Frame containing rigid particles</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RRMRotamerGroup.ApplySelfEnergyThresh">
+<span class="sig-name descname"><span class="pre">ApplySelfEnergyThresh</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thresh</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">30</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RRMRotamerGroup.ApplySelfEnergyThresh" title="Permalink to this definition">¶</a></dt>
 <dd><p>Searches rotamer with lowest self energy <em>l_e</em> and deletes all
 rotamers with <em>self_energy</em> &gt; <em>l_e</em> + <em>thresh</em></p>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.sidechain.FRMRotamerGroup">
-<em class="property">class </em><code class="descclassname">promod3.sidechain.</code><code class="descname">FRMRotamerGroup</code><span class="sig-paren">(</span><em>rotamers</em>, <em>residue_index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamerGroup" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamerGroup">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">FRMRotamerGroup</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rotamers</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residue_index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamerGroup" title="Permalink to this definition">¶</a></dt>
 <dd><p>The FRMRotamerGroup groups several <a class="reference internal" href="#promod3.sidechain.FRMRotamer" title="promod3.sidechain.FRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamer</span></code></a> objects for the same
 residue position.</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>rotamers</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – A list of <a class="reference internal" href="#promod3.sidechain.FRMRotamer" title="promod3.sidechain.FRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamer</span></code></a> objects</li>
-<li><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Location of residue this <a class="reference internal" href="#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>rotamers</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – A list of <a class="reference internal" href="#promod3.sidechain.FRMRotamer" title="promod3.sidechain.FRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamer</span></code></a> objects</p></li>
+<li><p><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Location of residue this <a class="reference internal" href="#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a>
 represents. This index is important when calculating
 frame energies to neglect the interactions to frame
-particles of the same residue.</li>
+particles of the same residue.</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if provided <em>rotamers</em> is empty</p>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamerGroup.__len__">
-<code class="descname">__len__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamerGroup.__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 rotamers in group</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamerGroup.__getitem__">
-<code class="descname">__getitem__</code><span class="sig-paren">(</span><em>index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamerGroup.__getitem__" 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"><a class="reference internal" href="#promod3.sidechain.FRMRotamer" title="promod3.sidechain.FRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamer</span></code></a> at given <em>index</em></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>index</em> is invalid</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamerGroup.ApplyOnResidue">
-<code class="descname">ApplyOnResidue</code><span class="sig-paren">(</span><em>index</em>, <em>res</em>, <em>consider_hydrogens=False</em>, <em>new_res_name=&quot;&quot;</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamerGroup.ApplyOnResidue" title="Permalink to this definition">¶</a></dt>
-<dt>
-<code class="descname">ApplyOnResidue</code><span class="sig-paren">(</span><em>index</em>, <em>all_atom</em>, <em>res_idx</em><span class="sig-paren">)</span></dt>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if provided <em>rotamers</em> is empty</p>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamerGroup.__len__">
+<span class="sig-name descname"><span class="pre">__len__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamerGroup.__len__" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Number of rotamers in group</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamerGroup.__getitem__">
+<span class="sig-name descname"><span class="pre">__getitem__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamerGroup.__getitem__" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.sidechain.FRMRotamer" title="promod3.sidechain.FRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamer</span></code></a> at given <em>index</em></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if <em>index</em> is invalid</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamerGroup.ApplyOnResidue">
+<span class="sig-name descname"><span class="pre">ApplyOnResidue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">consider_hydrogens</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">new_res_name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamerGroup.ApplyOnResidue" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py">
+<span class="sig-name descname"><span class="pre">ApplyOnResidue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">all_atom</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res_idx</span></span></em><span class="sig-paren">)</span></dt>
 <dd><p>Calls ApplyOnResidue function on rotamer at position <em>index</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>index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Rotamer index</li>
-<li><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue to be reconstructed</li>
-<li><strong>consider_hydrogens</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, whether polar hydrogens should be added to
-the sidechain</li>
-<li><strong>new_res_name</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – New name of residue. Nothing happens in case of the
-default value (“”)</li>
-<li><strong>all_atom</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Container to which to apply rotamer</li>
-<li><strong>res_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index into <em>all_atom</em></li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Rotamer index</p></li>
+<li><p><strong>res</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue to be reconstructed</p></li>
+<li><p><strong>consider_hydrogens</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Flag, whether polar hydrogens should be added to
+the sidechain</p></li>
+<li><p><strong>new_res_name</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – New name of residue. Nothing happens in case of the
+default value (“”)</p></li>
+<li><p><strong>all_atom</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">AllAtomPositions</span></code></a>) – Container to which to apply rotamer</p></li>
+<li><p><strong>res_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Residue index into <em>all_atom</em></p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if not all required backbone atoms
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if not all required backbone atoms
 are present in <em>res</em> or when <em>index</em> or <em>res_idx</em> are invalid</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamerGroup.Merge">
-<code class="descname">Merge</code><span class="sig-paren">(</span><em>other</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamerGroup.Merge" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamerGroup.Merge">
+<span class="sig-name descname"><span class="pre">Merge</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamerGroup.Merge" title="Permalink to this definition">¶</a></dt>
 <dd><p>Adds all rotamers in <em>other</em> to current <a class="reference internal" href="#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</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>other</strong> (<a class="reference internal" href="#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a>) – RotamerGroup to be merged in</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamerGroup.SetFrameEnergy">
-<code class="descname">SetFrameEnergy</code><span class="sig-paren">(</span><em>frame</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamerGroup.SetFrameEnergy" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>other</strong> (<a class="reference internal" href="#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a>) – RotamerGroup to be merged in</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamerGroup.SetFrameEnergy">
+<span class="sig-name descname"><span class="pre">SetFrameEnergy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">frame</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamerGroup.SetFrameEnergy" title="Permalink to this definition">¶</a></dt>
 <dd><p>Calculates sets the energy of all rotamers in the group towards the
 given <strong>frame</strong>.</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>frame</strong> (<a class="reference internal" href="frame.html#promod3.sidechain.Frame" title="promod3.sidechain.Frame"><code class="xref py py-class docutils literal notranslate"><span class="pre">Frame</span></code></a>) – Frame containing rigid particles</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamerGroup.AddFrameEnergy">
-<code class="descname">AddFrameEnergy</code><span class="sig-paren">(</span><em>frame</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamerGroup.AddFrameEnergy" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>frame</strong> (<a class="reference internal" href="frame.html#promod3.sidechain.Frame" title="promod3.sidechain.Frame"><code class="xref py py-class docutils literal notranslate"><span class="pre">Frame</span></code></a>) – Frame containing rigid particles</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamerGroup.AddFrameEnergy">
+<span class="sig-name descname"><span class="pre">AddFrameEnergy</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">frame</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamerGroup.AddFrameEnergy" title="Permalink to this definition">¶</a></dt>
 <dd><p>Calculates adds the energy of all rotamers in the group towards the
 given <strong>frame</strong>.</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>frame</strong> (<a class="reference internal" href="frame.html#promod3.sidechain.Frame" title="promod3.sidechain.Frame"><code class="xref py py-class docutils literal notranslate"><span class="pre">Frame</span></code></a>) – Frame containing rigid particles</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.FRMRotamerGroup.ApplySelfEnergyThresh">
-<code class="descname">ApplySelfEnergyThresh</code><span class="sig-paren">(</span><em>thresh=30</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamerGroup.ApplySelfEnergyThresh" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>frame</strong> (<a class="reference internal" href="frame.html#promod3.sidechain.Frame" title="promod3.sidechain.Frame"><code class="xref py py-class docutils literal notranslate"><span class="pre">Frame</span></code></a>) – Frame containing rigid particles</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.FRMRotamerGroup.ApplySelfEnergyThresh">
+<span class="sig-name descname"><span class="pre">ApplySelfEnergyThresh</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">thresh</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">30</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.FRMRotamerGroup.ApplySelfEnergyThresh" title="Permalink to this definition">¶</a></dt>
 <dd><p>Searches rotamer with lowest self energy <em>l_e</em> and deletes all
 rotamers with <em>self_energy</em> &gt; <em>l_e</em> + <em>thresh</em></p>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -1413,12 +1228,12 @@ rotamers with <em>self_energy</em> &gt; <em>l_e</em> + <em>thresh</em></p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -1435,8 +1250,8 @@ rotamers with <em>self_energy</em> &gt; <em>l_e</em> + <em>thresh</em></p>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a><ul>
-      <li>Previous: <a href="index.html" title="previous chapter"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a><ul>
+      <li>Previous: <a href="index.html" title="previous chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
       <li>Next: <a href="frame.html" title="next chapter">Frame - The Rigid Part</a></li>
   </ul></li>
   </ul></li>
@@ -1444,27 +1259,33 @@ rotamers with <em>self_energy</em> &gt; <em>l_e</em> + <em>thresh</em></p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/sidechain/rotamer.rst.txt"
diff --git a/doc/html/sidechain/rotamer_constructor.html b/doc/html/sidechain/rotamer_constructor.html
index fe7e92accec4a51a4fb9bc4cfccfdb913df87a62..156840285ae7f77c99137bfa310d791190db92c5 100644
--- a/doc/html/sidechain/rotamer_constructor.html
+++ b/doc/html/sidechain/rotamer_constructor.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Rotamer Constructor &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Rotamer Constructor &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Rotamer Library" href="rotamer_lib.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,216 +31,200 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="rotamer-constructor">
-<h1>Rotamer Constructor<a class="headerlink" href="#rotamer-constructor" title="Permalink to this headline">¶</a></h1>
+  <section id="rotamer-constructor">
+<h1>Rotamer Constructor<a class="headerlink" href="#rotamer-constructor" title="Permalink to this heading">¶</a></h1>
 <p>Instead of creating rotamers or frame residues by yourself, you can use the
 convenient functionality provided by ProMod3.</p>
-<div class="section" id="the-rotamerconstructor-baseclass">
-<h2>The RotamerConstructor Baseclass<a class="headerlink" href="#the-rotamerconstructor-baseclass" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.sidechain.RotamerConstructor">
-<em class="property">class </em><code class="descclassname">promod3.sidechain.</code><code class="descname">RotamerConstructor</code><a class="headerlink" href="#promod3.sidechain.RotamerConstructor" title="Permalink to this definition">¶</a></dt>
+<section id="the-rotamerconstructor-baseclass">
+<h2>The RotamerConstructor Baseclass<a class="headerlink" href="#the-rotamerconstructor-baseclass" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerConstructor">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">RotamerConstructor</span></span><a class="headerlink" href="#promod3.sidechain.RotamerConstructor" title="Permalink to this definition">¶</a></dt>
 <dd><p>Abstract base class that cannot be initialized from Python. It builds
 an interface implemented by scoring function specific constructors
 (e.g. <a class="reference internal" href="#promod3.sidechain.SCWRL4RotamerConstructor" title="promod3.sidechain.SCWRL4RotamerConstructor"><code class="xref py py-class docutils literal notranslate"><span class="pre">SCWRL4RotamerConstructor</span></code></a>).</p>
-<dl class="method">
-<dt id="promod3.sidechain.RotamerConstructor.ConstructRRMRotamerGroup">
-<code class="descname">ConstructRRMRotamerGroup</code><span class="sig-paren">(</span><em>res</em>, <em>id</em>, <em>residue_index</em>, <em>rot_lib</em><span class="optional">[</span>, <em>phi = -1.0472</em>, <em>psi = -0.7854</em>, <em>n_ter = False</em>, <em>c_ter = False</em>, <em>probability_cutoff = 0.98</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerConstructor.ConstructRRMRotamerGroup" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerConstructor.ConstructRRMRotamerGroup">
+<span class="sig-name descname"><span class="pre">ConstructRRMRotamerGroup</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residue_index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rot_lib</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">phi</span> <span class="pre">=</span> <span class="pre">-1.0472</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span> <span class="pre">=</span> <span class="pre">-0.7854</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">probability_cutoff</span> <span class="pre">=</span> <span class="pre">0.98</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerConstructor.ConstructRRMRotamerGroup" title="Permalink to this definition">¶</a></dt>
 <dd></dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">ConstructRRMRotamerGroup</code><span class="sig-paren">(</span><em>all_atom_pos</em>, <em>aa_res_idx</em>, <em>id</em>, <em>residue_index</em>, <em>rot_lib</em><span class="optional">[</span>, <em>phi = -1.0472</em>, <em>psi = -0.7854</em>, <em>n_ter = False</em>, <em>c_ter = False</em>, <em>probability_cutoff = 0.98</em><span class="optional">]</span><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id0">
+<span class="sig-name descname"><span class="pre">ConstructRRMRotamerGroup</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">all_atom_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">aa_res_idx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residue_index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rot_lib</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">phi</span> <span class="pre">=</span> <span class="pre">-1.0472</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span> <span class="pre">=</span> <span class="pre">-0.7854</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">probability_cutoff</span> <span class="pre">=</span> <span class="pre">0.98</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#id0" title="Permalink to this definition">¶</a></dt>
 <dd></dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">ConstructRRMRotamerGroup</code><span class="sig-paren">(</span><em>res</em>, <em>id</em>, <em>residue_index</em>, <em>rot_lib_entries</em><span class="optional">[</span>, <em>phi = -1.0472</em>, <em>psi = -0.7854</em>, <em>n_ter = False</em>, <em>c_ter = False</em>, <em>probability_cutoff = 0.98</em><span class="optional">]</span><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id1">
+<span class="sig-name descname"><span class="pre">ConstructRRMRotamerGroup</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residue_index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rot_lib_entries</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">phi</span> <span class="pre">=</span> <span class="pre">-1.0472</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span> <span class="pre">=</span> <span class="pre">-0.7854</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">probability_cutoff</span> <span class="pre">=</span> <span class="pre">0.98</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#id1" title="Permalink to this definition">¶</a></dt>
 <dd></dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">ConstructRRMRotamerGroup</code><span class="sig-paren">(</span><em>all_atom_pos</em>, <em>aa_res_idx</em>, <em>id</em>, <em>residue_index</em>, <em>rot_lib_entries</em><span class="optional">[</span>, <em>phi = -1.0472</em>, <em>psi = -0.7854</em>, <em>n_ter = False</em>, <em>c_ter = False</em>, <em>probability_cutoff = 0.98</em><span class="optional">]</span><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id2">
+<span class="sig-name descname"><span class="pre">ConstructRRMRotamerGroup</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">all_atom_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">aa_res_idx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residue_index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rot_lib_entries</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">phi</span> <span class="pre">=</span> <span class="pre">-1.0472</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span> <span class="pre">=</span> <span class="pre">-0.7854</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">probability_cutoff</span> <span class="pre">=</span> <span class="pre">0.98</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#id2" title="Permalink to this definition">¶</a></dt>
 <dd><p>All functions are also avaible for their flexible rotamer model counterpart.
 =&gt;ConstructFRMRotamerGroup(…) with the same parameters.</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>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – To extract the required backbone atoms</li>
-<li><strong>all_atom_pos</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.AllAtomPositions</span></code></a>) – To extract the required backbone atoms</li>
-<li><strong>aa_res_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of residue in <strong>all_atom_pos</strong> from which to
-extract the required backbone atoms</li>
-<li><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identifies the sidechain.</li>
-<li><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Important for the energy calculations towards the
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>res</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – To extract the required backbone atoms</p></li>
+<li><p><strong>all_atom_pos</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.AllAtomPositions</span></code></a>) – To extract the required backbone atoms</p></li>
+<li><p><strong>aa_res_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of residue in <strong>all_atom_pos</strong> from which to
+extract the required backbone atoms</p></li>
+<li><p><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identifies the sidechain.</p></li>
+<li><p><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Important for the energy calculations towards the
 <a class="reference internal" href="frame.html#promod3.sidechain.Frame" title="promod3.sidechain.Frame"><code class="xref py py-class docutils literal notranslate"><span class="pre">Frame</span></code></a> you don’t want to calculate a pairwise
 energy of the sidechain particles towards particles
-representing the own backbone…</li>
-<li><strong>rot_lib</strong> (<a class="reference internal" href="rotamer_lib.html#promod3.sidechain.RotamerLib" title="promod3.sidechain.RotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLib</span></code></a> / <a class="reference internal" href="rotamer_lib.html#promod3.sidechain.BBDepRotamerLib" title="promod3.sidechain.BBDepRotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">BBDepRotamerLib</span></code></a>) – To search for rotamers</li>
-<li><strong>rot_lib_entries</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – <a class="reference internal" href="rotamer_lib.html#promod3.sidechain.RotamerLibEntry" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a> objects to circumvent the
-direct use of a rotamer library</li>
-<li><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Phi dihedral angle</li>
-<li><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Psi dihedral angle</li>
-<li><strong>n_ter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is n-terminal</li>
-<li><strong>c_ter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is c-terminal</li>
-<li><strong>probability_cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – For some rotamers, there might be many low
+representing the own backbone…</p></li>
+<li><p><strong>rot_lib</strong> (<a class="reference internal" href="rotamer_lib.html#promod3.sidechain.RotamerLib" title="promod3.sidechain.RotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLib</span></code></a> / <a class="reference internal" href="rotamer_lib.html#promod3.sidechain.BBDepRotamerLib" title="promod3.sidechain.BBDepRotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">BBDepRotamerLib</span></code></a>) – To search for rotamers</p></li>
+<li><p><strong>rot_lib_entries</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a>) – <a class="reference internal" href="rotamer_lib.html#id0" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a> objects to circumvent the
+direct use of a rotamer library</p></li>
+<li><p><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Phi dihedral angle</p></li>
+<li><p><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Psi dihedral angle</p></li>
+<li><p><strong>n_ter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is n-terminal</p></li>
+<li><p><strong>c_ter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is c-terminal</p></li>
+<li><p><strong>probability_cutoff</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – For some rotamers, there might be many low
 probability entries in the library.
 The function adds single rotamers to the group until
 the cumulative probability of the added rotamers is
-larger or equal <strong>probability_cutoff</strong>.</li>
+larger or equal <strong>probability_cutoff</strong>.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The rotamer group containing all constructed rotamers
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The rotamer group containing all constructed rotamers
 with internal energies assigned.</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="rotamer.html#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamerGroup</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"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> when not all required backbone
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamerGroup</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> when not all required backbone
 atoms are present in <strong>residue</strong> or not all required atom
 positions are set in <strong>all_atom_pos</strong></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.RotamerConstructor.ConstructBackboneFrameResidue">
-<code class="descname">ConstructBackboneFrameResidue</code><span class="sig-paren">(</span><em>res</em>, <em>id</em>, <em>residue_index</em><span class="optional">[</span>, <em>phi = -1.0472</em>, <em>psi = -0.7854</em>, <em>n_ter = False</em>, <em>c_ter = False</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerConstructor.ConstructBackboneFrameResidue" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerConstructor.ConstructBackboneFrameResidue">
+<span class="sig-name descname"><span class="pre">ConstructBackboneFrameResidue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residue_index</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">phi</span> <span class="pre">=</span> <span class="pre">-1.0472</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span> <span class="pre">=</span> <span class="pre">-0.7854</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerConstructor.ConstructBackboneFrameResidue" title="Permalink to this definition">¶</a></dt>
 <dd></dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">ConstructBackboneFrameResidue</code><span class="sig-paren">(</span><em>all_atom_pos</em>, <em>aa_res_idx</em>, <em>id</em>, <em>residue_index</em><span class="optional">[</span>, <em>phi = -1.0472</em>, <em>psi = -0.7854                                         n_ter = False</em>, <em>c_ter = False</em><span class="optional">]</span><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id3">
+<span class="sig-name descname"><span class="pre">ConstructBackboneFrameResidue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">all_atom_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">aa_res_idx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residue_index</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">phi</span> <span class="pre">=</span> <span class="pre">-1.0472</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span> <span class="pre">=</span> <span class="pre">-0.7854</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="pre">n_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#id3" title="Permalink to this definition">¶</a></dt>
 <dd><p>Constructs frame residues only containing backbone atoms (the ones that
 don’t show up in a rotamer).</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>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue from which to extract the backbone positions</li>
-<li><strong>all_atom_pos</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.AllAtomPositions</span></code></a>) – To extract the backbone positions</li>
-<li><strong>aa_res_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of residue in <strong>all_atom_pos</strong> from which to
-extract the backbone positions</li>
-<li><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identifies the sidechain</li>
-<li><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Important for the energy calculations towards the
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>res</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue from which to extract the backbone positions</p></li>
+<li><p><strong>all_atom_pos</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.AllAtomPositions</span></code></a>) – To extract the backbone positions</p></li>
+<li><p><strong>aa_res_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of residue in <strong>all_atom_pos</strong> from which to
+extract the backbone positions</p></li>
+<li><p><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identifies the sidechain</p></li>
+<li><p><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Important for the energy calculations towards the
 <a class="reference internal" href="frame.html#promod3.sidechain.Frame" title="promod3.sidechain.Frame"><code class="xref py py-class docutils literal notranslate"><span class="pre">Frame</span></code></a> you don’t want to calculate a pairwise
 energy of the sidechain particles towards particles
-representing the own backbone…</li>
-<li><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</li>
-<li><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</li>
-<li><strong>n_ter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is n-terminal</li>
-<li><strong>c_ter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is c-terminal</li>
+representing the own backbone…</p></li>
+<li><p><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</p></li>
+<li><p><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</p></li>
+<li><p><strong>n_ter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is n-terminal</p></li>
+<li><p><strong>c_ter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is c-terminal</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> when not all required backbone
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a></p>
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> when not all required backbone
 atoms are present in <strong>residue</strong> or not all required atom
 positions are set in <strong>all_atom_pos</strong>.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.RotamerConstructor.ConstructSidechainFrameResidue">
-<code class="descname">ConstructSidechainFrameResidue</code><span class="sig-paren">(</span><em>res</em>, <em>id</em>, <em>residue_index</em><span class="optional">[</span>, <em>phi = -1.0472</em>, <em>psi = -0.7854</em>, <em>n_ter = False</em>, <em>c_ter = False</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerConstructor.ConstructSidechainFrameResidue" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerConstructor.ConstructSidechainFrameResidue">
+<span class="sig-name descname"><span class="pre">ConstructSidechainFrameResidue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residue_index</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">phi</span> <span class="pre">=</span> <span class="pre">-1.0472</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span> <span class="pre">=</span> <span class="pre">-0.7854</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerConstructor.ConstructSidechainFrameResidue" title="Permalink to this definition">¶</a></dt>
 <dd></dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">ConstructSidechainFrameResidue</code><span class="sig-paren">(</span><em>all_atom_pos</em>, <em>aa_res_idx</em>, <em>id</em>, <em>residue_index</em><span class="optional">[</span>, <em>phi = -1.0472</em>, <em>psi = -0.7854                                         n_ter = False</em>, <em>c_ter = False</em><span class="optional">]</span><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id4">
+<span class="sig-name descname"><span class="pre">ConstructSidechainFrameResidue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">all_atom_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">aa_res_idx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residue_index</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">phi</span> <span class="pre">=</span> <span class="pre">-1.0472</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span> <span class="pre">=</span> <span class="pre">-0.7854</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="pre">n_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#id4" title="Permalink to this definition">¶</a></dt>
 <dd><p>Constructs frame residues only containing sidechain atoms (the ones that
 you observe in a rotamer).</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>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue from which to extract the backbone positions</li>
-<li><strong>all_atom_pos</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.AllAtomPositions</span></code></a>) – To extract the backbone positions</li>
-<li><strong>aa_res_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of residue in <strong>all_atom_pos</strong> from which to
-extract the backbone positions</li>
-<li><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identifies the sidechain</li>
-<li><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Important for the energy calculations towards the
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>res</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue from which to extract the backbone positions</p></li>
+<li><p><strong>all_atom_pos</strong> (<a class="reference internal" href="../loop/all_atom.html#promod3.loop.AllAtomPositions" title="promod3.loop.AllAtomPositions"><code class="xref py py-class docutils literal notranslate"><span class="pre">promod3.loop.AllAtomPositions</span></code></a>) – To extract the backbone positions</p></li>
+<li><p><strong>aa_res_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of residue in <strong>all_atom_pos</strong> from which to
+extract the backbone positions</p></li>
+<li><p><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identifies the sidechain</p></li>
+<li><p><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Important for the energy calculations towards the
 <a class="reference internal" href="frame.html#promod3.sidechain.Frame" title="promod3.sidechain.Frame"><code class="xref py py-class docutils literal notranslate"><span class="pre">Frame</span></code></a> you don’t want to calculate a pairwise
 energy of the sidechain particles towards particles
-representing the own backbone…</li>
-<li><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</li>
-<li><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</li>
-<li><strong>n_ter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is n-terminal</li>
-<li><strong>c_ter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is c-terminal</li>
+representing the own backbone…</p></li>
+<li><p><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</p></li>
+<li><p><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</p></li>
+<li><p><strong>n_ter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is n-terminal</p></li>
+<li><p><strong>c_ter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is c-terminal</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first"><a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> when not all required sidechain
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a></p>
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> when not all required sidechain
 atoms are present in <strong>residue</strong> or not all required sidechain
 atom positions are set in <strong>all_atom_pos</strong>.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.RotamerConstructor.AssignInternalEnergies">
-<code class="descname">AssignInternalEnergies</code><span class="sig-paren">(</span><em>rot_group</em>, <em>id</em>, <em>residue_index</em><span class="optional">[</span>, <em>phi = -1.0472</em>, <em>psi = -0.7854</em>, <em>n_ter = False</em>, <em>c_ter = False</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerConstructor.AssignInternalEnergies" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerConstructor.AssignInternalEnergies">
+<span class="sig-name descname"><span class="pre">AssignInternalEnergies</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rot_group</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residue_index</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">phi</span> <span class="pre">=</span> <span class="pre">-1.0472</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span> <span class="pre">=</span> <span class="pre">-0.7854</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerConstructor.AssignInternalEnergies" title="Permalink to this definition">¶</a></dt>
 <dd><p>Assigns an internal energy to every rotamer in <em>rot_group</em>, i.e. an energy
 value before looking at any structural component of the energy function.
 The default implementation simply assigns 0.0 to every rotamer, it’s up
 to the energy function specific constructors to override that behaviour.</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>rot_group</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamerGroup</span></code></a> / <a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a>) – containing all rotamers for which internal energies have
-to be assigned</li>
-<li><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identifies the sidechain</li>
-<li><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the residue which is represented by
-<em>rot_group</em></li>
-<li><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</li>
-<li><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</li>
-<li><strong>n_ter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is n-terminal</li>
-<li><strong>c_ter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is c-terminal</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>rot_group</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamerGroup</span></code></a> / <a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a>) – containing all rotamers for which internal energies have
+to be assigned</p></li>
+<li><p><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identifies the sidechain</p></li>
+<li><p><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the residue which is represented by
+<em>rot_group</em></p></li>
+<li><p><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</p></li>
+<li><p><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</p></li>
+<li><p><strong>n_ter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is n-terminal</p></li>
+<li><p><strong>c_ter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is c-terminal</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="scoring-function-specific-rotamerconstructors">
-<h2>Scoring Function Specific RotamerConstructors<a class="headerlink" href="#scoring-function-specific-rotamerconstructors" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.sidechain.SCWRL4RotamerConstructor">
-<em class="property">class </em><code class="descclassname">promod3.sidechain.</code><code class="descname">SCWRL4RotamerConstructor</code><span class="sig-paren">(</span><em>cb_in_sidechain</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SCWRL4RotamerConstructor" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="scoring-function-specific-rotamerconstructors">
+<h2>Scoring Function Specific RotamerConstructors<a class="headerlink" href="#scoring-function-specific-rotamerconstructors" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.sidechain.SCWRL4RotamerConstructor">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">SCWRL4RotamerConstructor</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cb_in_sidechain</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SCWRL4RotamerConstructor" title="Permalink to this definition">¶</a></dt>
 <dd><p>This object implements the full interface defined in
 <a class="reference internal" href="#promod3.sidechain.RotamerConstructor" title="promod3.sidechain.RotamerConstructor"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerConstructor</span></code></a> and constructs rotamers and frame residues that
 are parametrized according to the SCWRL4 method. They contain all heavy atoms,
 but also the polar hydrogens.</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>cb_in_sidechain</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If set to true, all constructed rotamers will contain
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>cb_in_sidechain</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If set to true, all constructed rotamers will contain
 the cb atom. This flag also affects the construction
 of frame residues and controls whether the cb atom
 shows up in the backbone frame residues or sidechain
@@ -248,40 +233,35 @@ This is useful when you want to represent ALA or
 GLY with actual rotamers, but be aware of increased
 runtime. This flag can be set to False for most
 modeling applications and you just don’t generate
-any rotamers for ALA and GLY.</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.sidechain.SCWRL4RotamerConstructor.ConstructFrameResidue">
-<code class="descname">ConstructFrameResidue</code><span class="sig-paren">(</span><em>residue</em>, <em>residue_index</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SCWRL4RotamerConstructor.ConstructFrameResidue" title="Permalink to this definition">¶</a></dt>
-<dd><p>Constructs a <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a> from a <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>.
+any rotamers for ALA and GLY.</p>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.SCWRL4RotamerConstructor.ConstructFrameResidue">
+<span class="sig-name descname"><span class="pre">ConstructFrameResidue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">residue</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residue_index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SCWRL4RotamerConstructor.ConstructFrameResidue" title="Permalink to this definition">¶</a></dt>
+<dd><p>Constructs a <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a> from a <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>.
 This can be useful to mark a region occupied by a ligand. Note, that
 there won’t be any parametrization of hbonds in this function. All heavy
 atoms of the residue will be represented as carbons and hydrogens are
 skipped.</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>residue</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue from which all atoms will be taken to
-construct a <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a>.</li>
-<li><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index this <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a> belongs to.</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>residue</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue from which all atoms will be taken to
+construct a <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a>.</p></li>
+<li><p><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index this <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a> belongs to.</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.SCWRL4RotamerConstructor.ConstructFrameResidueHeuristic">
-<code class="descname">ConstructFrameResidueHeuristic</code><span class="sig-paren">(</span><em>residue</em>, <em>residue_index</em>, <em>comp_lib</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SCWRL4RotamerConstructor.ConstructFrameResidueHeuristic" title="Permalink to this definition">¶</a></dt>
-<dd><p>Constructs a <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a> from a <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a> using
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.SCWRL4RotamerConstructor.ConstructFrameResidueHeuristic">
+<span class="sig-name descname"><span class="pre">ConstructFrameResidueHeuristic</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">residue</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residue_index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">comp_lib</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SCWRL4RotamerConstructor.ConstructFrameResidueHeuristic" title="Permalink to this definition">¶</a></dt>
+<dd><p>Constructs a <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a> from a <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a> using
 a heuristic treatment of the atoms based on the passed compounds library.
 This is meant to be used as an alternative to <a class="reference internal" href="#promod3.sidechain.SCWRL4RotamerConstructor.ConstructFrameResidue" title="promod3.sidechain.SCWRL4RotamerConstructor.ConstructFrameResidue"><code class="xref py py-func docutils literal notranslate"><span class="pre">ConstructFrameResidue()</span></code></a>,
 which will be called by this function if the residue is not known by the given
@@ -290,32 +270,28 @@ Only non-hydrogen atoms are considered and by default added as uncharged
 carbons. Special treatment is used for atoms known by the compounds library
 in the following cases:</p>
 <ul class="simple">
-<li>carbons, nitrogens, oxygens and sulfur particles use an appropriate type
-as in the <code class="xref py py-class docutils literal notranslate"><span class="pre">SidechainParticle</span></code> enumeration</li>
-<li>carbonyls are added as charged oxygen particles as hbond acceptors</li>
+<li><p>carbons, nitrogens, oxygens and sulfur particles use an appropriate type
+as in the <code class="xref py py-class docutils literal notranslate"><span class="pre">SidechainParticle</span></code> enumeration</p></li>
+<li><p>carbonyls are added as charged oxygen particles as hbond acceptors</p></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>residue</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue from which all atoms will be taken to
-construct a <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a>.</li>
-<li><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index this <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a> belongs to.</li>
-<li><strong>comp_lib</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/conop/compoundlib/#ost.conop.CompoundLib" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.CompoundLib</span></code></a>) – OST compound library to use</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>residue</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue from which all atoms will be taken to
+construct a <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a>.</p></li>
+<li><p><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index this <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a> belongs to.</p></li>
+<li><p><strong>comp_lib</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/conop/compoundlib/#ost.conop.CompoundLib" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.conop.CompoundLib</span></code></a>) – OST compound library to use</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.SCWRL4RotamerConstructor.AssignInternalEnergies">
-<code class="descname">AssignInternalEnergies</code><span class="sig-paren">(</span><em>rot_group</em>, <em>id</em>, <em>residue_index</em><span class="optional">[</span>, <em>phi = -1.0472</em>, <em>psi = -0.7854</em>, <em>n_ter = False</em>, <em>c_ter = False</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SCWRL4RotamerConstructor.AssignInternalEnergies" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.SCWRL4RotamerConstructor.AssignInternalEnergies">
+<span class="sig-name descname"><span class="pre">AssignInternalEnergies</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rot_group</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residue_index</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">phi</span> <span class="pre">=</span> <span class="pre">-1.0472</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span> <span class="pre">=</span> <span class="pre">-0.7854</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SCWRL4RotamerConstructor.AssignInternalEnergies" title="Permalink to this definition">¶</a></dt>
 <dd><p>Overrides the method defined in <a class="reference internal" href="#promod3.sidechain.RotamerConstructor" title="promod3.sidechain.RotamerConstructor"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerConstructor</span></code></a>.
 Takes the rotamer group and assigns every single rotamer its internal
 energy based on the probabilistic approach used by SCWRL4.
@@ -324,40 +300,34 @@ rotamer specific and max_p is the maximum probablity of any of the rotamers
 in <strong>rot_group</strong>. If you construct a rotamer group by the
 ConstructRRMRotamerGroup/ConstructFRMRotamerGroup functions, this function
 is already called at construction and the energies are properly assigned.</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>rot_group</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamerGroup</span></code></a> / <a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a>) – containing all rotamers for which internal energies have
-to be assigned</li>
-<li><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identifies the sidechain</li>
-<li><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the residue which is represented by
-<em>rot_group</em></li>
-<li><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</li>
-<li><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</li>
-<li><strong>n_ter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is n-terminal</li>
-<li><strong>c_ter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is c-terminal</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>rot_group</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamerGroup</span></code></a> / <a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a>) – containing all rotamers for which internal energies have
+to be assigned</p></li>
+<li><p><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identifies the sidechain</p></li>
+<li><p><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the residue which is represented by
+<em>rot_group</em></p></li>
+<li><p><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</p></li>
+<li><p><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</p></li>
+<li><p><strong>n_ter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is n-terminal</p></li>
+<li><p><strong>c_ter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is c-terminal</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.sidechain.SCWRL3RotamerConstructor">
-<em class="property">class </em><code class="descclassname">promod3.sidechain.</code><code class="descname">SCWRL3RotamerConstructor</code><span class="sig-paren">(</span><em>cb_in_sidechain</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SCWRL3RotamerConstructor" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.sidechain.SCWRL3RotamerConstructor">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">SCWRL3RotamerConstructor</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cb_in_sidechain</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SCWRL3RotamerConstructor" title="Permalink to this definition">¶</a></dt>
 <dd><p>This object implements the full interface defined in
 <a class="reference internal" href="#promod3.sidechain.RotamerConstructor" title="promod3.sidechain.RotamerConstructor"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerConstructor</span></code></a> and constructs rotamers and frame residues that
 are parametrized according to the SCWRL3 method. They contain only heavy 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">Parameters:</th><td class="field-body"><strong>cb_in_sidechain</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If set to true, all constructed rotamers will contain
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>cb_in_sidechain</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If set to true, all constructed rotamers will contain
 the cb atom. This flag also affects the construction
 of frame residues and controls whether the cb atom
 shows up in the backbone frame residues or sidechain
@@ -366,13 +336,12 @@ This is useful when you want to represent ALA or
 GLY with actual rotamers, but be aware of increased
 runtime. This flag can be set to False for most
 modeling applications and you just don’t generate
-any rotamers for ALA and GLY.</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.sidechain.SCWRL3RotamerConstructor.AssignInternalEnergies">
-<code class="descname">AssignInternalEnergies</code><span class="sig-paren">(</span><em>rot_group</em>, <em>id</em>, <em>residue_index</em><span class="optional">[</span>, <em>phi = -1.0472</em>, <em>psi = -0.7854</em>, <em>n_ter = False</em>, <em>c_ter = False</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SCWRL3RotamerConstructor.AssignInternalEnergies" title="Permalink to this definition">¶</a></dt>
+any rotamers for ALA and GLY.</p>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.SCWRL3RotamerConstructor.AssignInternalEnergies">
+<span class="sig-name descname"><span class="pre">AssignInternalEnergies</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rot_group</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residue_index</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">phi</span> <span class="pre">=</span> <span class="pre">-1.0472</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span> <span class="pre">=</span> <span class="pre">-0.7854</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SCWRL3RotamerConstructor.AssignInternalEnergies" title="Permalink to this definition">¶</a></dt>
 <dd><p>Overrides the method defined in <a class="reference internal" href="#promod3.sidechain.RotamerConstructor" title="promod3.sidechain.RotamerConstructor"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerConstructor</span></code></a>.
 Takes the rotamer group and assigns every single rotamer its internal
 energy based on the probabilistic approach used by SCWRL3.
@@ -381,40 +350,34 @@ rotamer specific and max_p is the maximum probablity of any of the rotamers
 in <strong>rot_group</strong>. If you construct a rotamer group by the
 ConstructRRMRotamerGroup/ConstructFRMRotamerGroup functions, this function
 is already called at construction and the energies are properly assigned.</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>rot_group</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamerGroup</span></code></a> / <a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a>) – containing all rotamers for which internal energies have
-to be assigned</li>
-<li><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identifies the sidechain</li>
-<li><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the residue which is represented by
-<em>rot_group</em></li>
-<li><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</li>
-<li><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</li>
-<li><strong>n_ter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is n-terminal</li>
-<li><strong>c_ter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is c-terminal</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>rot_group</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamerGroup</span></code></a> / <a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a>) – containing all rotamers for which internal energies have
+to be assigned</p></li>
+<li><p><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identifies the sidechain</p></li>
+<li><p><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the residue which is represented by
+<em>rot_group</em></p></li>
+<li><p><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</p></li>
+<li><p><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</p></li>
+<li><p><strong>n_ter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is n-terminal</p></li>
+<li><p><strong>c_ter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is c-terminal</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-<dl class="class">
-<dt id="promod3.sidechain.VINARotamerConstructor">
-<em class="property">class </em><code class="descclassname">promod3.sidechain.</code><code class="descname">VINARotamerConstructor</code><span class="sig-paren">(</span><em>cb_in_sidechain</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.VINARotamerConstructor" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.sidechain.VINARotamerConstructor">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">VINARotamerConstructor</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cb_in_sidechain</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.VINARotamerConstructor" title="Permalink to this definition">¶</a></dt>
 <dd><p>This object implements the full interface defined in
 <a class="reference internal" href="#promod3.sidechain.RotamerConstructor" title="promod3.sidechain.RotamerConstructor"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerConstructor</span></code></a> and constructs rotamers and frame residues that
 are parametrized according to the VINA method. They contain only heavy 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">Parameters:</th><td class="field-body"><strong>cb_in_sidechain</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If set to true, all constructed rotamers will contain
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>cb_in_sidechain</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – If set to true, all constructed rotamers will contain
 the cb atom. This flag also affects the construction
 of frame residues and controls whether the cb atom
 shows up in the backbone frame residues or sidechain
@@ -423,13 +386,12 @@ This is useful when you want to represent ALA or
 GLY with actual rotamers, but be aware of increased
 runtime. This flag can be set to False for most
 modeling applications and you just don’t generate
-any rotamers for ALA and GLY.</td>
-</tr>
-</tbody>
-</table>
-<dl class="method">
-<dt id="promod3.sidechain.VINARotamerConstructor.AssignInternalEnergies">
-<code class="descname">AssignInternalEnergies</code><span class="sig-paren">(</span><em>rot_group</em>, <em>id</em>, <em>residue_index</em><span class="optional">[</span>, <em>phi = -1.0472</em>, <em>psi = -0.7854</em>, <em>n_ter = False</em>, <em>c_ter = False</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.VINARotamerConstructor.AssignInternalEnergies" title="Permalink to this definition">¶</a></dt>
+any rotamers for ALA and GLY.</p>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.VINARotamerConstructor.AssignInternalEnergies">
+<span class="sig-name descname"><span class="pre">AssignInternalEnergies</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rot_group</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">residue_index</span></span></em><span class="optional">[</span>, <em class="sig-param"><span class="n"><span class="pre">phi</span> <span class="pre">=</span> <span class="pre">-1.0472</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span> <span class="pre">=</span> <span class="pre">-0.7854</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">c_ter</span> <span class="pre">=</span> <span class="pre">False</span></span></em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.VINARotamerConstructor.AssignInternalEnergies" title="Permalink to this definition">¶</a></dt>
 <dd><p>Overrides the method defined in <a class="reference internal" href="#promod3.sidechain.RotamerConstructor" title="promod3.sidechain.RotamerConstructor"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerConstructor</span></code></a>.
 Takes the rotamer group and assigns every single rotamer its internal
 energy based on the probabilistic approach used by SCWRL3/SCWRL4.
@@ -438,31 +400,27 @@ rotamer specific and max_p is the maximum probablity of any of the rotamers
 in <strong>rot_group</strong>. If you construct a rotamer group by the
 ConstructRRMRotamerGroup/ConstructFRMRotamerGroup functions, this function
 is already called at construction and the energies are properly assigned.</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>rot_group</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamerGroup</span></code></a> / <a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a>) – containing all rotamers for which internal energies have
-to be assigned</li>
-<li><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identifies the sidechain</li>
-<li><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the residue which is represented by
-<em>rot_group</em></li>
-<li><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</li>
-<li><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</li>
-<li><strong>n_ter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is n-terminal</li>
-<li><strong>c_ter</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is c-terminal</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>rot_group</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamerGroup" title="promod3.sidechain.RRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamerGroup</span></code></a> / <a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamerGroup" title="promod3.sidechain.FRMRotamerGroup"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamerGroup</span></code></a>) – containing all rotamers for which internal energies have
+to be assigned</p></li>
+<li><p><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identifies the sidechain</p></li>
+<li><p><strong>residue_index</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – The index of the residue which is represented by
+<em>rot_group</em></p></li>
+<li><p><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</p></li>
+<li><p><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The dihedral angle of the current residue</p></li>
+<li><p><strong>n_ter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is n-terminal</p></li>
+<li><p><strong>c_ter</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Whether the residue is c-terminal</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.VINARotamerConstructor.ConstructFrameResidueHeuristic">
-<code class="descname">ConstructFrameResidueHeuristic</code><span class="sig-paren">(</span><em>res</em>, <em>res_idx</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.VINARotamerConstructor.ConstructFrameResidueHeuristic" title="Permalink to this definition">¶</a></dt>
-<dd><p>Constructs a <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a> from a <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a> using
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.VINARotamerConstructor.ConstructFrameResidueHeuristic">
+<span class="sig-name descname"><span class="pre">ConstructFrameResidueHeuristic</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">res_idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.VINARotamerConstructor.ConstructFrameResidueHeuristic" title="Permalink to this definition">¶</a></dt>
+<dd><p>Constructs a <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a> from a <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a> using
 a heuristic treatment of the atoms. It is important that the residue has
 proper bonds assigned, as they influence the atom typing procedure.
 Furthermore, you need hydrogens to automatically estimate the correct
@@ -471,97 +429,90 @@ Alternatively you can assign generic properties to oxygens and nitrogens
 to circumvent the requirement of hydrogens. This is further described for
 the case of oxygen.</p>
 <ul class="simple">
-<li>Carbon is assigned C_VINAParticle <a class="reference internal" href="rotamer.html#promod3.sidechain.VINAParticleType" title="promod3.sidechain.VINAParticleType"><code class="xref py py-class docutils literal notranslate"><span class="pre">VINAParticleType</span></code></a> if its only
+<li><p>Carbon is assigned C_VINAParticle <a class="reference internal" href="rotamer.html#promod3.sidechain.VINAParticleType" title="promod3.sidechain.VINAParticleType"><code class="xref py py-class docutils literal notranslate"><span class="pre">VINAParticleType</span></code></a> if its only
 bound to other carbons or hydrogens (and deuterium). All other carbons are
-assigned C_P_VINAParticle <a class="reference internal" href="rotamer.html#promod3.sidechain.VINAParticleType" title="promod3.sidechain.VINAParticleType"><code class="xref py py-class docutils literal notranslate"><span class="pre">VINAParticleType</span></code></a>.</li>
-<li>In case of oxygen, the heuristic first checks for set generic properties.
+assigned C_P_VINAParticle <a class="reference internal" href="rotamer.html#promod3.sidechain.VINAParticleType" title="promod3.sidechain.VINAParticleType"><code class="xref py py-class docutils literal notranslate"><span class="pre">VINAParticleType</span></code></a>.</p></li>
+<li><p>In case of oxygen, the heuristic first checks for set generic properties.
 If the atom has the bool properties “is_hbond_acceptor” AND
 “is_hbond_donor” set, it decides between the according oxygen types
 in <a class="reference internal" href="rotamer.html#promod3.sidechain.VINAParticleType" title="promod3.sidechain.VINAParticleType"><code class="xref py py-class docutils literal notranslate"><span class="pre">VINAParticleType</span></code></a>. If the generic properties are not set,
 every oxygen is assumed to be an hbond acceptor. But only an hbond donor
 if its bound to a hydrogen (or deuterium). You can set the generic
-properties for an <a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.AtomHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.AtomHandle</span></code></a> by calling
+properties for an <a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.AtomHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.AtomHandle</span></code></a> by calling
 at.SetBoolProp(“is_hbond_donor”, False) and
 at.SetBoolProp(“is_hbond_acceptor”, True). An oxygen with those
-generic properties is assigned O_A_VINAParticle <a class="reference internal" href="rotamer.html#promod3.sidechain.VINAParticleType" title="promod3.sidechain.VINAParticleType"><code class="xref py py-class docutils literal notranslate"><span class="pre">VINAParticleType</span></code></a>.</li>
-<li>In case of nitrogen, the heuristic again first checks for set generic
+generic properties is assigned O_A_VINAParticle <a class="reference internal" href="rotamer.html#promod3.sidechain.VINAParticleType" title="promod3.sidechain.VINAParticleType"><code class="xref py py-class docutils literal notranslate"><span class="pre">VINAParticleType</span></code></a>.</p></li>
+<li><p>In case of nitrogen, the heuristic again first checks for set generic
 properties.
 If the atom has the bool properties “is_hbond_acceptor” AND
 “is_hbond_donor” set, it decides between the according nitrogen types
 in <a class="reference internal" href="rotamer.html#promod3.sidechain.VINAParticleType" title="promod3.sidechain.VINAParticleType"><code class="xref py py-class docutils literal notranslate"><span class="pre">VINAParticleType</span></code></a>. If not, nitrogen is expected to be an
 hbond donor if it is bound to a hydrogen (or deuterium) and
 an hbond acceptor if it is bound to less than 3 other atoms (sounds
-horrible but works surprisingly well).</li>
-<li>Atoms of elements [“MG”, “MN”, “ZN”, “CA”, “FE”] are assigned
-M_VINAParticle <a class="reference internal" href="rotamer.html#promod3.sidechain.VINAParticleType" title="promod3.sidechain.VINAParticleType"><code class="xref py py-class docutils literal notranslate"><span class="pre">VINAParticleType</span></code></a>.</li>
-<li>Atoms of elements [“S”, “P”, “F”, “CL”, “BR”, “I”] are assigned their
-corresponding <a class="reference internal" href="rotamer.html#promod3.sidechain.VINAParticleType" title="promod3.sidechain.VINAParticleType"><code class="xref py py-class docutils literal notranslate"><span class="pre">VINAParticleType</span></code></a>.</li>
-<li>All other atoms are neglected and not added to the returned
-<a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a>.</li>
+horrible but works surprisingly well).</p></li>
+<li><p>Atoms of elements [“MG”, “MN”, “ZN”, “CA”, “FE”] are assigned
+M_VINAParticle <a class="reference internal" href="rotamer.html#promod3.sidechain.VINAParticleType" title="promod3.sidechain.VINAParticleType"><code class="xref py py-class docutils literal notranslate"><span class="pre">VINAParticleType</span></code></a>.</p></li>
+<li><p>Atoms of elements [“S”, “P”, “F”, “CL”, “BR”, “I”] are assigned their
+corresponding <a class="reference internal" href="rotamer.html#promod3.sidechain.VINAParticleType" title="promod3.sidechain.VINAParticleType"><code class="xref py py-class docutils literal notranslate"><span class="pre">VINAParticleType</span></code></a>.</p></li>
+<li><p>All other atoms are neglected and not added to the returned
+<a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a>.</p></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>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue from which to create the
-<a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a></li>
-<li><strong>res_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index that is set in <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a></li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>res</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue from which to create the
+<a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a></p></li>
+<li><p><strong>res_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index that is set in <a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a></p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last"><a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a></p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="frame.html#promod3.sidechain.FrameResidue" title="promod3.sidechain.FrameResidue"><code class="xref py py-class docutils literal notranslate"><span class="pre">FrameResidue</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.VINARotamerConstructor.ConstructRRMRotamerHeuristic">
-<code class="descname">ConstructRRMRotamerHeuristic</code><span class="sig-paren">(</span><em>res</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.VINARotamerConstructor.ConstructRRMRotamerHeuristic" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.VINARotamerConstructor.ConstructRRMRotamerHeuristic">
+<span class="sig-name descname"><span class="pre">ConstructRRMRotamerHeuristic</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.VINARotamerConstructor.ConstructRRMRotamerHeuristic" title="Permalink to this definition">¶</a></dt>
 <dd><p>Construct a <a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamer" title="promod3.sidechain.RRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamer</span></code></a> with the atom typing heuristic
 as in the <a class="reference internal" href="#promod3.sidechain.VINARotamerConstructor.ConstructFrameResidueHeuristic" title="promod3.sidechain.VINARotamerConstructor.ConstructFrameResidueHeuristic"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ConstructFrameResidueHeuristic()</span></code></a> method.</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>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue from which to create the
-<a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamer" title="promod3.sidechain.RRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamer</span></code></a></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamer" title="promod3.sidechain.RRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamer</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>res</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue from which to create the
+<a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamer" title="promod3.sidechain.RRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamer</span></code></a></p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="rotamer.html#promod3.sidechain.RRMRotamer" title="promod3.sidechain.RRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">RRMRotamer</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.VINARotamerConstructor.ConstructFRMRotamerHeuristic">
-<code class="descname">ConstructFRMRotamerHeuristic</code><span class="sig-paren">(</span><em>res</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.VINARotamerConstructor.ConstructFRMRotamerHeuristic" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.VINARotamerConstructor.ConstructFRMRotamerHeuristic">
+<span class="sig-name descname"><span class="pre">ConstructFRMRotamerHeuristic</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.VINARotamerConstructor.ConstructFRMRotamerHeuristic" title="Permalink to this definition">¶</a></dt>
 <dd><p>Construct a <a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamer" title="promod3.sidechain.FRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamer</span></code></a> with the atom typing heuristic
 as in the <a class="reference internal" href="#promod3.sidechain.VINARotamerConstructor.ConstructFrameResidueHeuristic" title="promod3.sidechain.VINARotamerConstructor.ConstructFrameResidueHeuristic"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ConstructFrameResidueHeuristic()</span></code></a> method. The
 constructed <a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamer" title="promod3.sidechain.FRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamer</span></code></a> only contains one subrotamer that
 contains the atoms from <em>residue</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"><strong>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue from which to create the
-<a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamer" title="promod3.sidechain.FRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamer</span></code></a></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamer" title="promod3.sidechain.FRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamer</span></code></a></td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>res</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Residue from which to create the
+<a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamer" title="promod3.sidechain.FRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamer</span></code></a></p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamer" title="promod3.sidechain.FRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamer</span></code></a></p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -582,12 +533,12 @@ contains the atoms from <em>residue</em>.</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -604,7 +555,7 @@ contains the atoms from <em>residue</em>.</p>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a><ul>
       <li>Previous: <a href="frame.html" title="previous chapter">Frame - The Rigid Part</a></li>
       <li>Next: <a href="rotamer_lib.html" title="next chapter">Rotamer Library</a></li>
   </ul></li>
@@ -613,27 +564,33 @@ contains the atoms from <em>residue</em>.</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/sidechain/rotamer_constructor.rst.txt"
diff --git a/doc/html/sidechain/rotamer_lib.html b/doc/html/sidechain/rotamer_lib.html
index b80adf5fcd6fc600a1a69f50ef35dca9e5b91c9c..f83da7d0243cbd045d5ec67054a0c440042ac7ad 100644
--- a/doc/html/sidechain/rotamer_lib.html
+++ b/doc/html/sidechain/rotamer_lib.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Rotamer Library &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Rotamer Library &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Rotamer Graph" href="graph.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,10 +31,12 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="rotamer-library">
-<h1>Rotamer Library<a class="headerlink" href="#rotamer-library" title="Permalink to this headline">¶</a></h1>
+  <section id="rotamer-library">
+<h1>Rotamer Library<a class="headerlink" href="#rotamer-library" title="Permalink to this heading">¶</a></h1>
 <p>With angles and bonds being rather rigid, the conformation of an amino acid
 sidechain can completely be described in terms of dihedral angles. Preferred
 combinations of such dihedral angles are a result of steric properties and
@@ -42,213 +45,195 @@ and their main difference is, whether the provided sidechain conformations
 are dependent on their backbone or not. ProMod3 provides you with a
 <a class="reference internal" href="#promod3.sidechain.BBDepRotamerLib" title="promod3.sidechain.BBDepRotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">BBDepRotamerLib</span></code></a> organizing rotamers for the different aminoacids
 in equidistant phi/psi bins, as well as a simple <a class="reference internal" href="#promod3.sidechain.RotamerLib" title="promod3.sidechain.RotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLib</span></code></a>.
-Both libraries are containers for <a class="reference internal" href="#promod3.sidechain.RotamerLibEntry" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a> and are optimized
+Both libraries are containers for <a class="reference internal" href="#id0" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a> and are optimized
 for fast writing/loading from/to disk. Once initialized, the library is in a
 dynamic mode where rotamers can be added.
 No rotamers can be read at this stage. As soon as
 all required rotamers are added, the library can be made static. This is the
 mode you can get the rotamers out of it or dump it to disk.</p>
-<div class="section" id="the-non-backbone-dependent-rotamer-library">
-<h2>The Non Backbone Dependent Rotamer Library<a class="headerlink" href="#the-non-backbone-dependent-rotamer-library" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.sidechain.RotamerLib">
-<em class="property">class </em><code class="descclassname">promod3.sidechain.</code><code class="descname">RotamerLib</code><a class="headerlink" href="#promod3.sidechain.RotamerLib" title="Permalink to this definition">¶</a></dt>
+<section id="the-non-backbone-dependent-rotamer-library">
+<h2>The Non Backbone Dependent Rotamer Library<a class="headerlink" href="#the-non-backbone-dependent-rotamer-library" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerLib">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">RotamerLib</span></span><a class="headerlink" href="#promod3.sidechain.RotamerLib" title="Permalink to this definition">¶</a></dt>
 <dd><p>Non backbone dependent rotamer library</p>
-<dl class="staticmethod">
-<dt id="promod3.sidechain.RotamerLib.Load">
-<em class="property">static </em><code class="descname">Load</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerLib.Load" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.sidechain.RotamerLib.LoadPortable">
-<em class="property">static </em><code class="descname">LoadPortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerLib.LoadPortable" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerLib.Load">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerLib.Load" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerLib.LoadPortable">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LoadPortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerLib.LoadPortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Loads raw binary file generated with <a class="reference internal" href="#promod3.sidechain.RotamerLib.Save" title="promod3.sidechain.RotamerLib.Save"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Save()</span></code></a> (optimized for fast
 reading) / portable file generated with <a class="reference internal" href="#promod3.sidechain.RotamerLib.SavePortable" title="promod3.sidechain.RotamerLib.SavePortable"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SavePortable()</span></code></a> (slower but
 less machine-dependent).</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">A rotamer library</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.sidechain.RotamerLib" title="promod3.sidechain.RotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLib</span></code></a></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
-file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RotamerLib.Save">
-<code class="descname">Save</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerLib.Save" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.sidechain.RotamerLib.SavePortable">
-<code class="descname">SavePortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerLib.SavePortable" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A rotamer library</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.sidechain.RotamerLib" title="promod3.sidechain.RotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLib</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
+file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerLib.Save">
+<span class="sig-name descname"><span class="pre">Save</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerLib.Save" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerLib.SavePortable">
+<span class="sig-name descname"><span class="pre">SavePortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerLib.SavePortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Saves a raw / portable binary representation. Use portable files for
 distribution and convert locally to raw files. See <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a>
 for details.</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RotamerLib.AddRotamer">
-<code class="descname">AddRotamer</code><span class="sig-paren">(</span><em>id</em>, <em>rotamer</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerLib.AddRotamer" 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>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><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 notranslate"><span class="pre">RotamerLibEntry</span></code></a>) – the rotamer to be added</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerLib.AddRotamer">
+<span class="sig-name descname"><span class="pre">AddRotamer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rotamer</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerLib.AddRotamer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identity of rotamer to be added</p></li>
+<li><p><strong>rotamer</strong> (<a class="reference internal" href="#id0" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a>) – the rotamer to be added</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if the library is already static</p>
-</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RotamerLib.QueryLib">
-<code class="descname">QueryLib</code><span class="sig-paren">(</span><em>id</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerLib.QueryLib" title="Permalink to this definition">¶</a></dt>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if the library is already static</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerLib.QueryLib">
+<span class="sig-name descname"><span class="pre">QueryLib</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">id</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerLib.QueryLib" title="Permalink to this definition">¶</a></dt>
 <dd><p>The query function follows following strategies in case of
 special <em>id</em> requests.</p>
 <ul class="simple">
-<li>if id = HSD (d-protonated HIS) try to find HSD, fallback to HIS in case of failure</li>
-<li>if id = HSE (e-protonated HIS) try to find HSE, fallback to HIS in case of failure</li>
-<li>if id = CYH (“free” CYS) try to find CYH, fallback to CYS in case of failure</li>
-<li>if id = CYD (“disulfid” CYS) try to find CYD, fallback to CYS in case of failure</li>
-<li>if id = CPR (cis-PRO) try to find CPR, fallback to PRO in case of failure</li>
-<li>if id = TPR (trans-PRO) try to find TPR, fallback to PRO in case of failure</li>
+<li><p>if id = HSD (d-protonated HIS) try to find HSD, fallback to HIS in case of failure</p></li>
+<li><p>if id = HSE (e-protonated HIS) try to find HSE, fallback to HIS in case of failure</p></li>
+<li><p>if id = CYH (“free” CYS) try to find CYH, fallback to CYS in case of failure</p></li>
+<li><p>if id = CYD (“disulfid” CYS) try to find CYD, fallback to CYS in case of failure</p></li>
+<li><p>if id = CPR (cis-PRO) try to find CPR, fallback to PRO in case of failure</p></li>
+<li><p>if id = TPR (trans-PRO) try to find TPR, fallback to PRO in case of failure</p></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"><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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 notranslate"><span class="pre">RotamerLibEntry</span></code></a> of nonzero
-probability sorted by their probability</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if no entries for <em>id</em> can be
-found</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.RotamerLib.MakeStatic">
-<code class="descname">MakeStatic</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerLib.MakeStatic" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identity of rotamer of interest</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#id0" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a> of nonzero
+probability sorted by their probability</p>
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if no entries for <em>id</em> can be
+found</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerLib.MakeStatic">
+<span class="sig-name descname"><span class="pre">MakeStatic</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerLib.MakeStatic" title="Permalink to this definition">¶</a></dt>
 <dd><p>Once all rotamers are added, the library can be made static to become readable
 and ready for io.</p>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="the-backbone-dependent-rotamer-library">
-<h2>The Backbone Dependent Rotamer Library<a class="headerlink" href="#the-backbone-dependent-rotamer-library" title="Permalink to this headline">¶</a></h2>
-<dl class="class">
-<dt id="promod3.sidechain.BBDepRotamerLib">
-<em class="property">class </em><code class="descclassname">promod3.sidechain.</code><code class="descname">BBDepRotamerLib</code><span class="sig-paren">(</span><em>phi_bins</em>, <em>psi_bins</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.BBDepRotamerLib" title="Permalink to this definition">¶</a></dt>
+</section>
+<section id="the-backbone-dependent-rotamer-library">
+<h2>The Backbone Dependent Rotamer Library<a class="headerlink" href="#the-backbone-dependent-rotamer-library" title="Permalink to this heading">¶</a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.sidechain.BBDepRotamerLib">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">BBDepRotamerLib</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">phi_bins</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi_bins</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.BBDepRotamerLib" title="Permalink to this definition">¶</a></dt>
 <dd><p>Backbone dependent rotamer library</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>phi_bins</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – number of bins for phi backbone dihedral</li>
-<li><strong>psi_bins</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – number of bins for psi backbone dihedral</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>phi_bins</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – number of bins for phi backbone dihedral</p></li>
+<li><p><strong>psi_bins</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – number of bins for psi backbone dihedral</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
-<dl class="staticmethod">
-<dt id="promod3.sidechain.BBDepRotamerLib.Load">
-<em class="property">static </em><code class="descname">Load</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.BBDepRotamerLib.Load" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.sidechain.BBDepRotamerLib.LoadPortable">
-<em class="property">static </em><code class="descname">LoadPortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.BBDepRotamerLib.LoadPortable" title="Permalink to this definition">¶</a></dt>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.BBDepRotamerLib.Load">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Load</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.BBDepRotamerLib.Load" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.sidechain.BBDepRotamerLib.LoadPortable">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LoadPortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.BBDepRotamerLib.LoadPortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Loads raw binary file generated with <a class="reference internal" href="#promod3.sidechain.BBDepRotamerLib.Save" title="promod3.sidechain.BBDepRotamerLib.Save"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Save()</span></code></a> (optimized for fast
 reading) / portable file generated with <a class="reference internal" href="#promod3.sidechain.BBDepRotamerLib.SavePortable" title="promod3.sidechain.BBDepRotamerLib.SavePortable"><code class="xref py py-meth docutils literal notranslate"><span class="pre">SavePortable()</span></code></a> (slower but
 less machine-dependent).</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">A rotamer library</td>
-</tr>
-<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><a class="reference internal" href="#promod3.sidechain.BBDepRotamerLib" title="promod3.sidechain.BBDepRotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">BBDepRotamerLib</span></code></a></td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
-file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.BBDepRotamerLib.Save">
-<code class="descname">Save</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.BBDepRotamerLib.Save" title="Permalink to this definition">¶</a></dt>
-<dt id="promod3.sidechain.BBDepRotamerLib.SavePortable">
-<code class="descname">SavePortable</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.BBDepRotamerLib.SavePortable" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file from which to load.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>A rotamer library</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#promod3.sidechain.BBDepRotamerLib" title="promod3.sidechain.BBDepRotamerLib"><code class="xref py py-class docutils literal notranslate"><span class="pre">BBDepRotamerLib</span></code></a></p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened or if
+file cannot be parsed (see <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a> for details).</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.BBDepRotamerLib.Save">
+<span class="sig-name descname"><span class="pre">Save</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.BBDepRotamerLib.Save" title="Permalink to this definition">¶</a></dt>
+<dt class="sig sig-object py" id="promod3.sidechain.BBDepRotamerLib.SavePortable">
+<span class="sig-name descname"><span class="pre">SavePortable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.BBDepRotamerLib.SavePortable" title="Permalink to this definition">¶</a></dt>
 <dd><p>Saves a raw / portable binary representation. Use portable files for
 distribution and convert locally to raw files. See <a class="reference internal" href="../portableIO.html#portableio"><span class="std std-ref">here</span></a>
 for details.</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/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.BBDepRotamerLib.AddRotamer">
-<code class="descname">AddRotamer</code><span class="sig-paren">(</span><em>id</em>, <em>r1</em>, <em>r2</em>, <em>r3</em>, <em>r4</em>, <em>phi_bin</em>, <em>psi_bin</em>, <em>rotamer</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.BBDepRotamerLib.AddRotamer" 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>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Configuration of chi1</li>
-<li><strong>r2</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Configuration of chi2</li>
-<li><strong>r3</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Configuration of chi3</li>
-<li><strong>r4</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Configuration of chi4</li>
-<li><strong>phi_bin</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Phi backbone dihedral description</li>
-<li><strong>psi_bin</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Psi backbone dihedral description</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 notranslate"><span class="pre">RotamerLibEntry</span></code></a>) – the rotamer to be added</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>filename</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#str" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>) – Path to the file where it will be saved.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if file cannot be opened.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.BBDepRotamerLib.AddRotamer">
+<span class="sig-name descname"><span class="pre">AddRotamer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">r4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">phi_bin</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi_bin</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rotamer</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.BBDepRotamerLib.AddRotamer" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identity of rotamer to be added</p></li>
+<li><p><strong>r1</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Configuration of chi1</p></li>
+<li><p><strong>r2</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Configuration of chi2</p></li>
+<li><p><strong>r3</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Configuration of chi3</p></li>
+<li><p><strong>r4</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Configuration of chi4</p></li>
+<li><p><strong>phi_bin</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Phi backbone dihedral description</p></li>
+<li><p><strong>psi_bin</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Psi backbone dihedral description</p></li>
+<li><p><strong>rotamer</strong> (<a class="reference internal" href="#id0" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a>) – the rotamer to be added</p></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if an invalid backbone angle bin
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if an invalid backbone angle bin
 is given or when the library is already static.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.BBDepRotamerLib.QueryLib">
-<code class="descname">QueryLib</code><span class="sig-paren">(</span><em>id</em>, <em>phi</em>, <em>psi</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.BBDepRotamerLib.QueryLib" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.BBDepRotamerLib.QueryLib">
+<span class="sig-name descname"><span class="pre">QueryLib</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">phi</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">psi</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.BBDepRotamerLib.QueryLib" title="Permalink to this definition">¶</a></dt>
 <dd><p>The returned rotamers are either directly returned in the form as they are
 added to the library or can be interpolated.
 In the first option, <em>phi</em> and <em>psi</em> simply get transformed to the
@@ -262,405 +247,365 @@ This behaviour can be controlled with <a class="reference internal" href="#promo
 The query function follows following strategies in case of
 special <em>id</em> requests.</p>
 <ul class="simple">
-<li>if id = HSD (d-protonated HIS) try to find HSD, fallback to HIS in case of failure</li>
-<li>if id = HSE (e-protonated HIS) try to find HSE, fallback to HIS in case of failure</li>
-<li>if id = CYH (“free” CYS) try to find CYH, fallback to CYS in case of failure</li>
-<li>if id = CYD (“disulfid” CYS) try to find CYD, fallback to CYS in case of failure</li>
-<li>if id = CPR (cis-PRO) try to find CPR, fallback to PRO in case of failure</li>
-<li>if id = TPR (trans-PRO) try to find TPR, fallback to PRO in case of failure</li>
+<li><p>if id = HSD (d-protonated HIS) try to find HSD, fallback to HIS in case of failure</p></li>
+<li><p>if id = HSE (e-protonated HIS) try to find HSE, fallback to HIS in case of failure</p></li>
+<li><p>if id = CYH (“free” CYS) try to find CYH, fallback to CYS in case of failure</p></li>
+<li><p>if id = CYD (“disulfid” CYS) try to find CYD, fallback to CYS in case of failure</p></li>
+<li><p>if id = CPR (cis-PRO) try to find CPR, fallback to PRO in case of failure</p></li>
+<li><p>if id = TPR (trans-PRO) try to find TPR, fallback to PRO in case of failure</p></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>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Psi backbone dihedral angle in range [-pi,pi[</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identity of rotamer of interest</p></li>
+<li><p><strong>phi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Phi backbone dihedral angle in range [-pi,pi[</p></li>
+<li><p><strong>psi</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Psi backbone dihedral angle in range [-pi,pi[</p></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 external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><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 notranslate"><span class="pre">RotamerLibEntry</span></code></a> of nonzero
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="#id0" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a> of nonzero
 probability for given phi/psi pair sorted by their probability</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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if no entries for <em>id</em> can be
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if no entries for <em>id</em> can be
 found</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.BBDepRotamerLib.MakeStatic">
-<code class="descname">MakeStatic</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.BBDepRotamerLib.MakeStatic" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.BBDepRotamerLib.MakeStatic">
+<span class="sig-name descname"><span class="pre">MakeStatic</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.BBDepRotamerLib.MakeStatic" title="Permalink to this definition">¶</a></dt>
 <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 <a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><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 <a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a> must be unique</li>
-<li>The configuration combinations of a particular <a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a> must
-be consistent across all phi/psi bins</li>
+<li><p>For every phi/psi bin combination of a particular <a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>,
+the same number of rotamers must have been added</p></li>
+<li><p>All configuration combinations of the added rotamers in one phi/psi bin
+of a particular <a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a> must be unique</p></li>
+<li><p>The configuration combinations of a particular <a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a> must
+be consistent across all phi/psi bins</p></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">Raises:</th><td class="field-body"><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if one of the points above is
-not fulfilled</td>
-</tr>
-</tbody>
-</table>
+<dl class="field-list simple">
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if one of the points above is
+not fulfilled</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.BBDepRotamerLib.SetInterpolate">
-<code class="descname">SetInterpolate</code><span class="sig-paren">(</span><em>interpolate</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.BBDepRotamerLib.SetInterpolate" 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>interpolate</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Controls behaviour when <a class="reference internal" href="#promod3.sidechain.BBDepRotamerLib.QueryLib" title="promod3.sidechain.BBDepRotamerLib.QueryLib"><code class="xref py py-meth docutils literal notranslate"><span class="pre">QueryLib()</span></code></a>
-gets called</td>
-</tr>
-</tbody>
-</table>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.BBDepRotamerLib.SetInterpolate">
+<span class="sig-name descname"><span class="pre">SetInterpolate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">interpolate</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.BBDepRotamerLib.SetInterpolate" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>interpolate</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a>) – Controls behaviour when <a class="reference internal" href="#promod3.sidechain.BBDepRotamerLib.QueryLib" title="promod3.sidechain.BBDepRotamerLib.QueryLib"><code class="xref py py-meth docutils literal notranslate"><span class="pre">QueryLib()</span></code></a>
+gets called</p>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="the-library-entry-type">
-<h2>The Library Entry Type<a class="headerlink" href="#the-library-entry-type" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="the-library-entry-type">
+<h2>The Library Entry Type<a class="headerlink" href="#the-library-entry-type" title="Permalink to this heading">¶</a></h2>
 <p>The entries for the rotamer libraries provide a basic container for rotamer
 dihedral angles and their corresponding standard deviations. They can be
 constructed by directly providing the values, but also by some static
 convenience functions. For analytical purposes they provide some comparison
 functionalities.</p>
-<dl class="class">
-<dt id="promod3.sidechain.RotamerLibEntry">
-<em class="property">class </em><code class="descclassname">promod3.sidechain.</code><code class="descname">RotamerLibEntry</code><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerLibEntry">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">RotamerLibEntry</span></span><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry" title="Permalink to this definition">¶</a></dt>
 <dd></dd></dl>
 
-<dl class="class">
-<dt>
-<em class="property">class </em><code class="descclassname">promod3.sidechain.</code><code class="descname">RotamerLibEntry</code><span class="sig-paren">(</span><em>p</em>, <em>chi1</em>, <em>chi2</em>, <em>chi3</em>, <em>chi4</em>, <em>sig1</em>, <em>sig2</em>, <em>sig3</em>, <em>sig4</em><span class="sig-paren">)</span></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>p</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Probability of rotamer</li>
-<li><strong>chi1</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Chi1 dihedral in range [-pi,pi[</li>
-<li><strong>chi2</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Chi2 dihedral in range [-pi,pi[</li>
-<li><strong>chi3</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Chi3 dihedral in range [-pi,pi[</li>
-<li><strong>chi4</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Chi4 dihedral in range [-pi,pi[</li>
-<li><strong>sig1</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Standard deviation for Chi1 dihedral</li>
-<li><strong>sig2</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Standard deviation for Chi2 dihedral</li>
-<li><strong>sig3</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Standard deviation for Chi3 dihedral</li>
-<li><strong>sig4</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Standard deviation for Chi4 dihedral</li>
+<dl class="py class">
+<dt class="sig sig-object py" id="id0">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">RotamerLibEntry</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">p</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chi1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chi2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chi3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">chi4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sig1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sig2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sig3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sig4</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id0" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>p</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Probability of rotamer</p></li>
+<li><p><strong>chi1</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Chi1 dihedral in range [-pi,pi[</p></li>
+<li><p><strong>chi2</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Chi2 dihedral in range [-pi,pi[</p></li>
+<li><p><strong>chi3</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Chi3 dihedral in range [-pi,pi[</p></li>
+<li><p><strong>chi4</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Chi4 dihedral in range [-pi,pi[</p></li>
+<li><p><strong>sig1</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Standard deviation for Chi1 dihedral</p></li>
+<li><p><strong>sig2</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Standard deviation for Chi2 dihedral</p></li>
+<li><p><strong>sig3</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Standard deviation for Chi3 dihedral</p></li>
+<li><p><strong>sig4</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Standard deviation for Chi4 dihedral</p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 <p><strong>Attributes:</strong></p>
-<dl class="attribute">
-<dt id="promod3.sidechain.RotamerLibEntry.probability">
-<code class="descname">probability</code><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.probability" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerLibEntry.probability">
+<span class="sig-name descname"><span class="pre">probability</span></span><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.probability" title="Permalink to this definition">¶</a></dt>
 <dd><p>probability of rotamer</p>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.sidechain.RotamerLibEntry.chi1">
-<code class="descname">chi1</code><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.chi1" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerLibEntry.chi1">
+<span class="sig-name descname"><span class="pre">chi1</span></span><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.chi1" title="Permalink to this definition">¶</a></dt>
 <dd><p>Chi1 dihedral in range [-pi,pi[, NaN if not defined</p>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.sidechain.RotamerLibEntry.chi2">
-<code class="descname">chi2</code><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.chi2" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerLibEntry.chi2">
+<span class="sig-name descname"><span class="pre">chi2</span></span><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.chi2" title="Permalink to this definition">¶</a></dt>
 <dd><p>Chi2 dihedral in range [-pi,pi[, NaN if not defined</p>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.sidechain.RotamerLibEntry.chi3">
-<code class="descname">chi3</code><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.chi3" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerLibEntry.chi3">
+<span class="sig-name descname"><span class="pre">chi3</span></span><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.chi3" title="Permalink to this definition">¶</a></dt>
 <dd><p>Chi3 dihedral in range [-pi,pi[, NaN if not defined</p>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.sidechain.RotamerLibEntry.chi4">
-<code class="descname">chi4</code><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.chi4" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerLibEntry.chi4">
+<span class="sig-name descname"><span class="pre">chi4</span></span><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.chi4" title="Permalink to this definition">¶</a></dt>
 <dd><p>Chi4 dihedral in range [-pi,pi[, NaN if not defined</p>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.sidechain.RotamerLibEntry.sig1">
-<code class="descname">sig1</code><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.sig1" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerLibEntry.sig1">
+<span class="sig-name descname"><span class="pre">sig1</span></span><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.sig1" title="Permalink to this definition">¶</a></dt>
 <dd><p>Standard deviation of Chi1 Dihedral, NaN if not defined</p>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.sidechain.RotamerLibEntry.sig2">
-<code class="descname">sig2</code><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.sig2" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerLibEntry.sig2">
+<span class="sig-name descname"><span class="pre">sig2</span></span><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.sig2" title="Permalink to this definition">¶</a></dt>
 <dd><p>Standard deviation of Chi2 Dihedral, NaN if not defined</p>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.sidechain.RotamerLibEntry.sig3">
-<code class="descname">sig3</code><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.sig3" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerLibEntry.sig3">
+<span class="sig-name descname"><span class="pre">sig3</span></span><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.sig3" title="Permalink to this definition">¶</a></dt>
 <dd><p>Standard deviation of Chi3 Dihedral, NaN if not defined</p>
 </dd></dl>
 
-<dl class="attribute">
-<dt id="promod3.sidechain.RotamerLibEntry.sig4">
-<code class="descname">sig4</code><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.sig4" title="Permalink to this definition">¶</a></dt>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerLibEntry.sig4">
+<span class="sig-name descname"><span class="pre">sig4</span></span><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.sig4" title="Permalink to this definition">¶</a></dt>
 <dd><p>Standard deviation of Chi4 Dihedral, NaN if not defined</p>
 </dd></dl>
 
-<dl class="staticmethod">
-<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 notranslate"><span class="pre">RotamerLibEntry</span></code></a> from the given <em>res</em>.
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerLibEntry.FromResidue">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">FromResidue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res</span></span></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="#id0" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a> from the given <em>res</em>.
 The function tries to automatically identify the <a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a> based
 on the residue name. The probability and standard deviations are set to 0.0,
 all not required chi angles with their corresponding  standard deviations to
 NaN.</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>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Source of dihedral angles</td>
-</tr>
-<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 notranslate"><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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if residue name cannot be
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>res</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Source of dihedral angles</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#id0" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a></p>
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if residue name cannot be
 translated to <a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a> or when not all  required atoms
-are present in <em>res</em>.</td>
-</tr>
-</tbody>
-</table>
+are present in <em>res</em>.</p>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="staticmethod">
-<dt>
-<em class="property">static </em><code class="descname">FromResidue</code><span class="sig-paren">(</span><em>res</em>, <em>id</em><span class="sig-paren">)</span></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 notranslate"><span class="pre">RotamerLibEntry</span></code></a> from the given <em>res</em>.
+<dl class="py method">
+<dt class="sig sig-object py" id="id1">
+<em class="property"><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">FromResidue</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">res</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">id</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id1" title="Permalink to this definition">¶</a></dt>
+<dd><p>Creates a <a class="reference internal" href="#id0" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a> from the given <em>res</em>.
 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>
-<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>res</strong> (<a class="reference external" href="https://www.openstructure.org/docs/2.4/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.4.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Source of dihedral angles</li>
-<li><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><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 notranslate"><span class="pre">RotamerLibEntry</span></code></a></li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>res</strong> (<a class="reference external" href="https://openstructure.org/docs/2.9.2/mol/base/entity/#ost.mol.ResidueHandle" title="(in OpenStructure v2.9.2)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ost.mol.ResidueHandle</span></code></a>) – Source of dihedral angles</p></li>
+<li><p><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – The identity of the returned <a class="reference internal" href="#id0" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a></p></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.sidechain.RotamerLibEntry" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a></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-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if not all required atoms are
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#id0" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a></p>
+</dd>
+<dt class="field-odd">Raises<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="xref py py-exc docutils literal notranslate"><span class="pre">RuntimeError</span></code> if not all required atoms are
 present in <em>res</em>.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.RotamerLibEntry.IsSimilar">
-<code class="descname">IsSimilar</code><span class="sig-paren">(</span><em>other</em>, <em>thresh</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.IsSimilar" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerLibEntry.IsSimilar">
+<span class="sig-name descname"><span class="pre">IsSimilar</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">thresh</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.IsSimilar" title="Permalink to this definition">¶</a></dt>
 <dd><p>Compares two RotamerLibEntries for their similarity in dihedral angles.
 The function goes from chi1 to chi4 and checks one after the other
 for similarity. The function doesn’t know the identity of the entries
 and can therefore not specifically treat symmetric rotamers
 (TYR,PHE,ASP,GLU) or rotamers with ambiguous naming in general.</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>other</strong> (<a class="reference internal" href="#promod3.sidechain.RotamerLibEntry" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The max difference between two dihedrals to be
-considered similar</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>other</strong> (<a class="reference internal" href="#id0" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a>) – The Entry you want to compare with</p></li>
+<li><p><strong>thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The max difference between two dihedrals to be
+considered similar</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a> Whether the two entries have the same
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a> Whether the two entries have the same
 amount of defined chi angles (not NaN) and whether
 they are within the specified threshold.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">IsSimilar</code><span class="sig-paren">(</span><em>other</em>, <em>thresh</em>, <em>id</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id2">
+<span class="sig-name descname"><span class="pre">IsSimilar</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">thresh</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">id</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id2" title="Permalink to this definition">¶</a></dt>
 <dd><p>Compares two RotamerLibEntries for their similarity in dihedral angles.
 The function goes from chi1 to chi4 and checks one after the other
 for similarity. Sidechains with ambigous naming that are symmetric
 (TYR,PHE,ASP,GLU) get treated specifically. E.g. in case of aspartate,
 the chi2 is checked for its actual value, but also for its flipped state.</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>other</strong> (<a class="reference internal" href="#promod3.sidechain.RotamerLibEntry" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><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/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The max difference between two dihedrals to be
-considered similar</li>
-<li><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identity of the entries to be compared</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>other</strong> (<a class="reference internal" href="#id0" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a>) – The Entry you want to compare with</p></li>
+<li><p><strong>thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The max difference between two dihedrals to be
+considered similar</p></li>
+<li><p><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identity of the entries to be compared</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a> Whether the two entries have the same
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a> Whether the two entries have the same
 amount of defined chi angles (not NaN) and whether
 they are within the specified threshold.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.RotamerLibEntry.SimilarDihedral">
-<code class="descname">SimilarDihedral</code><span class="sig-paren">(</span><em>other</em>, <em>dihedral_idx</em>, <em>thresh</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.SimilarDihedral" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.RotamerLibEntry.SimilarDihedral">
+<span class="sig-name descname"><span class="pre">SimilarDihedral</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dihedral_idx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">thresh</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.RotamerLibEntry.SimilarDihedral" title="Permalink to this definition">¶</a></dt>
 <dd><p>Compares a specific dihedral angle.
 The function doesn’t know the identity of the entries and can therefore
 not specifically treat symmetric rotamers
 (TYR,PHE,ASP,GLU) or rotamers with ambiguous naming in general.</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>other</strong> (<a class="reference internal" href="#promod3.sidechain.RotamerLibEntry" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a>) – The Entry you want to compare with</li>
-<li><strong>dihedral_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of the dihedral to be checked
-(0 for chi1, 3 for chi4)</li>
-<li><strong>thresh</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The max difference between two dihedrals to be
-considered similar</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>other</strong> (<a class="reference internal" href="#id0" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a>) – The Entry you want to compare with</p></li>
+<li><p><strong>dihedral_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of the dihedral to be checked
+(0 for chi1, 3 for chi4)</p></li>
+<li><p><strong>thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The max difference between two dihedrals to be
+considered similar</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a> Whether both dihedrals are defined
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a> Whether both dihedrals are defined
 (not NaN) and within the specified threshold</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-<dl class="method">
-<dt>
-<code class="descname">SimilarDihedral</code><span class="sig-paren">(</span><em>other</em>, <em>dihedral_idx</em>, <em>thresh</em>, <em>id</em><span class="sig-paren">)</span></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="id3">
+<span class="sig-name descname"><span class="pre">SimilarDihedral</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">other</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dihedral_idx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">thresh</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">id</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#id3" title="Permalink to this definition">¶</a></dt>
 <dd><p>Compares a specific dihedral angle.
 Symmetric sidechains with ambigous naming (TYR,PHE,ASP,GLU)
 get treated specifically. E.g. in case of aspartate, the chi2 is checked
 for its actual value, but also for its flipped state.</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>other</strong> (<a class="reference internal" href="#promod3.sidechain.RotamerLibEntry" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a>) – The Entry you want to compare with</li>
-<li><strong>dihedral_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of the dihedral to be checked
-(0 for chi1, 3 for chi4)</li>
-<li><strong>thresh</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The max difference between two dihedrals to be
-considered similar</li>
-<li><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identity of the entries to be compared</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>other</strong> (<a class="reference internal" href="#id0" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a>) – The Entry you want to compare with</p></li>
+<li><p><strong>dihedral_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Index of the dihedral to be checked
+(0 for chi1, 3 for chi4)</p></li>
+<li><p><strong>thresh</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – The max difference between two dihedrals to be
+considered similar</p></li>
+<li><p><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identity of the entries to be compared</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><a class="reference external" href="https://docs.python.org/3.7/library/functions.html#bool" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a> Whether both dihedrals are defined
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3.11/library/functions.html#bool" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bool</span></code></a> Whether both dihedrals are defined
 (not NaN) and within the specified threshold</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
 </dd></dl>
 
-</div>
-<div class="section" id="rotamer-configurations">
-<h2>Rotamer Configurations<a class="headerlink" href="#rotamer-configurations" title="Permalink to this headline">¶</a></h2>
+</section>
+<section id="rotamer-configurations">
+<h2>Rotamer Configurations<a class="headerlink" href="#rotamer-configurations" title="Permalink to this heading">¶</a></h2>
 <p>In rotamers, one distinguishes between rotameric and non-rotameric sidechain
 dihedral angles. The rotameric ones are around SP3-SP3 hybridized bonds and
 typically have three distinct configurations (trans, gauche-, gauche+).
 The non-rotameric ones behave differently. ProMod3 offers some functionality
 to estimate those configurations.</p>
-<dl class="class">
-<dt id="promod3.sidechain.DihedralConfiguration">
-<em class="property">class </em><code class="descclassname">promod3.sidechain.</code><code class="descname">DihedralConfiguration</code><a class="headerlink" href="#promod3.sidechain.DihedralConfiguration" title="Permalink to this definition">¶</a></dt>
+<dl class="py class">
+<dt class="sig sig-object py" id="promod3.sidechain.DihedralConfiguration">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">DihedralConfiguration</span></span><a class="headerlink" href="#promod3.sidechain.DihedralConfiguration" title="Permalink to this definition">¶</a></dt>
 <dd><p>Enumerates the possible sidechain dihedral configurations</p>
 <table class="hlist"><tr><td><ul class="simple">
-<li>TRANS - Trans configuration (120 &lt; angle &lt; -120)</li>
-<li>GAUCHE_PLUS - Gauche+ configuration (0 &lt; angle &lt; 120)</li>
-<li>GAUCHE_MINUS - Gauce- configuration (-120 &lt; angle &lt; 0)</li>
-<li>NON_ROTAMERIC - Dihedral without SP3-SP3 bond</li>
-<li>INVALID - Invalid configuration, e.g. chi3 of ALA (doesnt exist…)</li>
+<li><p>TRANS - Trans configuration (120 &lt; angle &lt; -120)</p></li>
+<li><p>GAUCHE_PLUS - Gauche+ configuration (0 &lt; angle &lt; 120)</p></li>
+<li><p>GAUCHE_MINUS - Gauce- configuration (-120 &lt; angle &lt; 0)</p></li>
+<li><p>NON_ROTAMERIC - Dihedral without SP3-SP3 bond</p></li>
+<li><p>INVALID - Invalid configuration, e.g. chi3 of ALA (doesnt exist…)</p></li>
 </ul>
 </td></tr></table>
 </dd></dl>
 
-<dl class="method">
-<dt id="promod3.sidechain.GetRotamericConfiguration">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">GetRotamericConfiguration</code><span class="sig-paren">(</span><em>angle</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.GetRotamericConfiguration" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.GetRotamericConfiguration">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">GetRotamericConfiguration</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">angle</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.GetRotamericConfiguration" title="Permalink to this definition">¶</a></dt>
 <dd><p>Evaluates the <em>angle</em> according to the ranges specified for
 <a class="reference internal" href="#promod3.sidechain.DihedralConfiguration" title="promod3.sidechain.DihedralConfiguration"><code class="xref py py-class docutils literal notranslate"><span class="pre">DihedralConfiguration</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>angle</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle to be evaluated</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">TRANS, GAUCHE_PLUS or GAUCHE_MINUS.
-INVALID if <em>angle</em> is NaN.</td>
-</tr>
-</tbody>
-</table>
-</dd></dl>
-
-<dl class="method">
-<dt id="promod3.sidechain.GetDihedralConfiguration">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">GetDihedralConfiguration</code><span class="sig-paren">(</span><em>entry</em>, <em>id</em>, <em>dihedral_idx</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.GetDihedralConfiguration" title="Permalink to this definition">¶</a></dt>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>angle</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Angle to be evaluated</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>TRANS, GAUCHE_PLUS or GAUCHE_MINUS.
+INVALID if <em>angle</em> is NaN.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.GetDihedralConfiguration">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">GetDihedralConfiguration</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">entry</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dihedral_idx</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.GetDihedralConfiguration" title="Permalink to this definition">¶</a></dt>
 <dd><p>Estimates configuration of a sidechain dihedral angle in a specific
-<a class="reference internal" href="#promod3.sidechain.RotamerLibEntry" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a> with the knowledge of its identity. This allows
+<a class="reference internal" href="#id0" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a> with the knowledge of its identity. This allows
 to also return NON_ROTAMERIC (e.g. chi2 for ASN).</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>entry</strong> (<a class="reference internal" href="#promod3.sidechain.RotamerLibEntry" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a>) – Sidechain dihedral angle comes from here</li>
-<li><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identity of rotamer</li>
-<li><strong>dihedral_idx</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Specifies angle (0 =&gt; chi1, …, 3 =&gt; chi4)</li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>entry</strong> (<a class="reference internal" href="#id0" title="promod3.sidechain.RotamerLibEntry"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerLibEntry</span></code></a>) – Sidechain dihedral angle comes from here</p></li>
+<li><p><strong>id</strong> (<a class="reference internal" href="rotamer.html#promod3.sidechain.RotamerID" title="promod3.sidechain.RotamerID"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerID</span></code></a>) – Identity of rotamer</p></li>
+<li><p><strong>dihedral_idx</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Specifies angle (0 =&gt; chi1, …, 3 =&gt; chi4)</p></li>
 </ul>
-</td>
-</tr>
-<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">Result of <a class="reference internal" href="#promod3.sidechain.GetRotamericConfiguration" title="promod3.sidechain.GetRotamericConfiguration"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetRotamericConfiguration()</span></code></a> if specified
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Result of <a class="reference internal" href="#promod3.sidechain.GetRotamericConfiguration" title="promod3.sidechain.GetRotamericConfiguration"><code class="xref py py-meth docutils literal notranslate"><span class="pre">GetRotamericConfiguration()</span></code></a> if specified
 angle is Rotameric, NON_ROTAMERIC if specified angle is
 valid and non rotameric, INVALID otherwise.</p>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
-</div>
+</section>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -681,12 +626,12 @@ valid and non rotameric, INVALID otherwise.</p>
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -703,7 +648,7 @@ valid and non rotameric, INVALID otherwise.</p>
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a><ul>
       <li>Previous: <a href="rotamer_constructor.html" title="previous chapter">Rotamer Constructor</a></li>
       <li>Next: <a href="graph.html" title="next chapter">Rotamer Graph</a></li>
   </ul></li>
@@ -712,27 +657,33 @@ valid and non rotameric, INVALID otherwise.</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/sidechain/rotamer_lib.rst.txt"
diff --git a/doc/html/sidechain/subrotamer_optimizer.html b/doc/html/sidechain/subrotamer_optimizer.html
index 949fd907f452a5907e0f0998185ae9d8e5996a1a..7e7b91f3665e64bcee61d772ba8605debf69382a 100644
--- a/doc/html/sidechain/subrotamer_optimizer.html
+++ b/doc/html/sidechain/subrotamer_optimizer.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Subrotamer Optimization &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></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>
-    <script type="text/javascript" src="../_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Subrotamer Optimization &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
+    <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+    <script src="../_static/jquery.js"></script>
+    <script src="../_static/underscore.js"></script>
+    <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="../_static/doctools.js"></script>
+    <script src="../_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="scoring - Loop Scoring" href="../scoring/index.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,10 +31,12 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="subrotamer-optimization">
-<h1>Subrotamer Optimization<a class="headerlink" href="#subrotamer-optimization" title="Permalink to this headline">¶</a></h1>
+  <section id="subrotamer-optimization">
+<h1>Subrotamer Optimization<a class="headerlink" href="#subrotamer-optimization" title="Permalink to this heading">¶</a></h1>
 <p>The idea of the flexible rotamer model is to have several subrotamers
 representing one single rotamer.
 One subrotamer is the representative (the active subrotamer).
@@ -48,36 +51,33 @@ The internal energies can be controlled as parameters and a constant value is
 set for rotamers that are currently active or not. The reason for that is
 that you might want to prefer the currently active subrotamers if no
 pairwise energies to other rotamers are observed.</p>
-<dl class="method">
-<dt id="promod3.sidechain.SubrotamerOptimizer">
-<code class="descclassname">promod3.sidechain.</code><code class="descname">SubrotamerOptimizer</code><span class="sig-paren">(</span><em>rotamers, [active_internal_energy=-2.0,                               inactive_internal_energy=0.0,                               max_complexity=100000000, initial_epsilon=0.02</em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SubrotamerOptimizer" title="Permalink to this definition">¶</a></dt>
+<dl class="py method">
+<dt class="sig sig-object py" id="promod3.sidechain.SubrotamerOptimizer">
+<span class="sig-prename descclassname"><span class="pre">promod3.sidechain.</span></span><span class="sig-name descname"><span class="pre">SubrotamerOptimizer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="pre">rotamers,</span> <span class="pre">[active_internal_energy=-2.0,</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="pre">inactive_internal_energy=0.0,</span>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="pre">max_complexity=100000000,</span> <span class="pre">initial_epsilon=0.02</span></em><span class="sig-paren">)</span><a class="headerlink" href="#promod3.sidechain.SubrotamerOptimizer" title="Permalink to this definition">¶</a></dt>
 <dd><p>Takes the <strong>rotamers</strong> of type <a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamer" title="promod3.sidechain.FRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamer</span></code></a>, converts all their
 subrotamers into rigid rotamers, solves the sidechain reconstruction problem
 and assigns the ideal subrotamers as active in the input <strong>rotamers</strong>.</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>rotamers</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamer" title="promod3.sidechain.FRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamer</span></code></a>) – The rotamers to be optimized</li>
-<li><strong>active_internal_energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Internal energy that gets assigned to all
-currently active subrotamers</li>
-<li><strong>inactive_internal_energy</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Internal energy that gets assigned to all
-currently inactive subrotamers</li>
-<li><strong>max_complexity</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Max complexity of the internal <a class="reference internal" href="graph.html#promod3.sidechain.RotamerGraph" title="promod3.sidechain.RotamerGraph"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerGraph</span></code></a></li>
-<li><strong>initial_epsilon</strong> (<a class="reference external" href="https://docs.python.org/3.7/library/functions.html#float" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Epsilon value controlling the pruning of
-internal <a class="reference internal" href="graph.html#promod3.sidechain.RotamerGraph" title="promod3.sidechain.RotamerGraph"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerGraph</span></code></a></li>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>rotamers</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/stdtypes.html#list" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> of <a class="reference internal" href="rotamer.html#promod3.sidechain.FRMRotamer" title="promod3.sidechain.FRMRotamer"><code class="xref py py-class docutils literal notranslate"><span class="pre">FRMRotamer</span></code></a>) – The rotamers to be optimized</p></li>
+<li><p><strong>active_internal_energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Internal energy that gets assigned to all
+currently active subrotamers</p></li>
+<li><p><strong>inactive_internal_energy</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Internal energy that gets assigned to all
+currently inactive subrotamers</p></li>
+<li><p><strong>max_complexity</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#int" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a>) – Max complexity of the internal <a class="reference internal" href="graph.html#promod3.sidechain.RotamerGraph" title="promod3.sidechain.RotamerGraph"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerGraph</span></code></a></p></li>
+<li><p><strong>initial_epsilon</strong> (<a class="reference external" href="https://docs.python.org/3.11/library/functions.html#float" title="(in Python v3.11)"><code class="xref py py-class docutils literal notranslate"><span class="pre">float</span></code></a>) – Epsilon value controlling the pruning of
+internal <a class="reference internal" href="graph.html#promod3.sidechain.RotamerGraph" title="promod3.sidechain.RotamerGraph"><code class="xref py py-class docutils literal notranslate"><span class="pre">RotamerGraph</span></code></a></p></li>
 </ul>
-</td>
-</tr>
-</tbody>
-</table>
+</dd>
+</dl>
 </dd></dl>
 
-</div>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -98,12 +98,12 @@ internal <a class="reference internal" href="graph.html#promod3.sidechain.Rotame
 <li class="toctree-l2"><a class="reference internal" href="../actions/index.html">ProMod3 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="../container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="../modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="../user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -120,36 +120,42 @@ internal <a class="reference internal" href="graph.html#promod3.sidechain.Rotame
 <ul>
   <li><a href="../index.html">Documentation overview</a><ul>
   <li><a href="../users.html">Documentation For Users</a><ul>
-  <li><a href="index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a><ul>
+  <li><a href="index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a><ul>
       <li>Previous: <a href="loading.html" title="previous chapter">Loading Rotamer Libraries</a></li>
-      <li>Next: <a href="../scoring/index.html" title="next chapter"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+      <li>Next: <a href="../scoring/index.html" title="next chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
   </ul></li>
   </ul></li>
   </ul></li>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="../search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="../_sources/sidechain/subrotamer_optimizer.rst.txt"
diff --git a/doc/html/user_contributions.html b/doc/html/user_contributions.html
index 49966f020f6e8e44efb4b2b91ada8de7565b709a..fdd32b16a7c96bb7de3f000cc8b0a0fbf9c8b0ca 100644
--- a/doc/html/user_contributions.html
+++ b/doc/html/user_contributions.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Contributing &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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>
-    <script type="text/javascript" src="_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Contributing &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
+    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+    <script src="_static/jquery.js"></script>
+    <script src="_static/underscore.js"></script>
+    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="_static/doctools.js"></script>
+    <script src="_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="next" title="Documentation For Developers" href="developers.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,10 +31,12 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="contributing">
-<h1>Contributing<a class="headerlink" href="#contributing" title="Permalink to this headline">¶</a></h1>
+  <section id="contributing">
+<h1>Contributing<a class="headerlink" href="#contributing" title="Permalink to this heading">¶</a></h1>
 <p>Please contact the ProMod3 developers if you implemented a modelling pipeline
 that you believe is worth sharing with other users.
 They can review the code and add it to the repository at:
@@ -42,10 +45,11 @@ opening an account for the GitLab instance at sciCORE, University of Basel if
 you directly want to contribute to ProMod3’s core features. You can find more
 information on that matter in the developer section of the documentation
 (<a class="reference internal" href="contributing.html#how-to-contribute"><span class="std std-ref">Contributing</span></a>).</p>
-</div>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -66,12 +70,12 @@ information on that matter in the developer section of the documentation
 <li class="toctree-l2"><a class="reference internal" href="actions/index.html">ProMod3 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="container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2 current"><a class="current reference internal" href="#">Contributing</a></li>
 </ul>
 </li>
@@ -88,34 +92,40 @@ information on that matter in the developer section of the documentation
 <ul>
   <li><a href="index.html">Documentation overview</a><ul>
   <li><a href="users.html">Documentation For Users</a><ul>
-      <li>Previous: <a href="core/setcompoundschemlib.html" title="previous chapter"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+      <li>Previous: <a href="core/setcompoundschemlib.html" title="previous chapter"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
       <li>Next: <a href="developers.html" title="next chapter">Documentation For Developers</a></li>
   </ul></li>
   </ul></li>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="_sources/user_contributions.rst.txt"
diff --git a/doc/html/users.html b/doc/html/users.html
index bdc7e621c50e2c92c330c6c9c07997bc491343cb..a2189012ccedc481bc0265d196ddf2fe583bbc6d 100644
--- a/doc/html/users.html
+++ b/doc/html/users.html
@@ -1,20 +1,20 @@
 
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html>
 
-<html xmlns="http://www.w3.org/1999/xhtml">
+<html lang="en">
   <head>
-    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>Documentation For Users &#8212; ProMod3 3.3.1 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" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></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>
-    <script type="text/javascript" src="_static/language_data.js"></script>
-    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML"></script>
+    <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+    <title>Documentation For Users &#8212; ProMod3 3.5.0 documentation</title>
+    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
+    <link rel="stylesheet" type="text/css" href="_static/alabaster.css" />
+    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
+    <script src="_static/jquery.js"></script>
+    <script src="_static/underscore.js"></script>
+    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
+    <script src="_static/doctools.js"></script>
+    <script src="_static/sphinx_highlight.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="next" title="Getting Started" href="gettingstarted.html" />
@@ -22,6 +22,7 @@
    
   <link rel="stylesheet" href="_static/custom.css" type="text/css" />
   
+  
   <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
 
   </head><body>
@@ -30,10 +31,12 @@
     <div class="document">
       <div class="documentwrapper">
         <div class="bodywrapper">
+          
+
           <div class="body" role="main">
             
-  <div class="section" id="documentation-for-users">
-<h1>Documentation For Users<a class="headerlink" href="#documentation-for-users" title="Permalink to this headline">¶</a></h1>
+  <section id="documentation-for-users">
+<h1>Documentation For Users<a class="headerlink" href="#documentation-for-users" title="Permalink to this heading">¶</a></h1>
 <p>This section is for users of ProMod3. It describes how to compile and run
 scripts using the functionality of this library.</p>
 <p>Contents:</p>
@@ -61,7 +64,7 @@ scripts using the functionality of this library.</p>
 <li class="toctree-l2"><a class="reference internal" href="container/singularity.html">Singularity</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a><ul>
+<li class="toctree-l1"><a class="reference internal" href="modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="modelling/pipeline.html">Modelling Pipeline</a></li>
 <li class="toctree-l2"><a class="reference internal" href="modelling/model_checking.html">Model Checking</a></li>
 <li class="toctree-l2"><a class="reference internal" href="modelling/gap_handling.html">Handling Gaps</a></li>
@@ -72,7 +75,7 @@ scripts using the functionality of this library.</p>
 <li class="toctree-l2"><a class="reference internal" href="modelling/algorithms.html">Modelling Algorithms</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a><ul>
+<li class="toctree-l1"><a class="reference internal" href="sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="sidechain/rotamer.html">Representing Sidechains - Rotamers &amp; Co.</a></li>
 <li class="toctree-l2"><a class="reference internal" href="sidechain/frame.html">Frame - The Rigid Part</a></li>
 <li class="toctree-l2"><a class="reference internal" href="sidechain/rotamer_constructor.html">Rotamer Constructor</a></li>
@@ -83,38 +86,42 @@ scripts using the functionality of this library.</p>
 <li class="toctree-l2"><a class="reference internal" href="sidechain/subrotamer_optimizer.html">Subrotamer Optimization</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a><ul>
+<li class="toctree-l1"><a class="reference internal" href="scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="scoring/backbone_score_env.html">Backbone Score Environment</a></li>
 <li class="toctree-l2"><a class="reference internal" href="scoring/backbone_scorers.html">Backbone Scorers</a></li>
 <li class="toctree-l2"><a class="reference internal" href="scoring/all_atom_scorers.html">All Atom Scorers</a></li>
 <li class="toctree-l2"><a class="reference internal" href="scoring/other_scoring_functions.html">Other Scoring Functions</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a><ul>
+<li class="toctree-l1"><a class="reference internal" href="loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="loop/backbone.html">Representing Loops</a></li>
 <li class="toctree-l2"><a class="reference internal" href="loop/torsion_sampler.html">Sampling Dihedral Angles</a></li>
 <li class="toctree-l2"><a class="reference internal" href="loop/structure_db.html">Structural Data</a></li>
 <li class="toctree-l2"><a class="reference internal" href="loop/all_atom.html">Handling All Atom Positions</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loop/mm_system_creation.html">Generate <code class="docutils literal notranslate"><span class="pre">ost.mol.mm</span></code> systems</a></li>
+<li class="toctree-l2"><a class="reference internal" href="loop/mm_system_creation.html">Generate <code class="xref py py-mod docutils literal notranslate"><span class="pre">ost.mol.mm</span></code> systems</a></li>
 <li class="toctree-l2"><a class="reference internal" href="loop/load_loop_objects.html">Loading Precomputed Objects</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="core/pm3argparse.html"><code class="docutils literal notranslate"><span class="pre">pm3argparse</span></code> - Parsing Command Lines</a></li>
-<li class="toctree-l2"><a class="reference internal" href="core/helper.html"><code class="docutils literal notranslate"><span class="pre">helper</span></code> - Shared Functionality For the Everything</a></li>
+<li class="toctree-l1"><a class="reference internal" href="core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="core/pm3argparse.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pm3argparse</span></code> - Parsing Command Lines</a></li>
+<li class="toctree-l2"><a class="reference internal" href="core/helper.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">helper</span></code> - Shared Functionality For the Everything</a></li>
 <li class="toctree-l2"><a class="reference internal" href="core/geometry.html">Geometry functions</a></li>
 <li class="toctree-l2"><a class="reference internal" href="core/runtime_profiling.html">Runtime profiling</a></li>
 <li class="toctree-l2"><a class="reference internal" href="core/graph_minimizer.html">Graph Minimizer</a></li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l1"><a class="reference internal" href="core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a><ul>
+<li class="toctree-l2"><a class="reference internal" href="core/setcompoundschemlib.html#promod3.SetCompoundsChemlib"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="user_contributions.html">Contributing</a></li>
 </ul>
 </div>
-</div>
+</section>
 
 
           </div>
+          
         </div>
       </div>
       <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
@@ -135,12 +142,12 @@ scripts using the functionality of this library.</p>
 <li class="toctree-l2"><a class="reference internal" href="actions/index.html">ProMod3 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="container/index.html">ProMod3 and Containers</a></li>
-<li class="toctree-l2"><a class="reference internal" href="modelling/index.html"><code class="docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="sidechain/index.html"><code class="docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="scoring/index.html"><code class="docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
-<li class="toctree-l2"><a class="reference internal" href="loop/index.html"><code class="docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
-<li class="toctree-l2"><a class="reference internal" href="core/index.html"><code class="docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
-<li class="toctree-l2"><a class="reference internal" href="core/setcompoundschemlib.html"><code class="docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="modelling/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">modelling</span></code> - Protein Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sidechain/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">sidechain</span></code> - Sidechain Modelling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scoring/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">scoring</span></code> - Loop Scoring</a></li>
+<li class="toctree-l2"><a class="reference internal" href="loop/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loop</span></code> - Loop Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="core/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">core</span></code> - ProMod3 Core Functionality</a></li>
+<li class="toctree-l2"><a class="reference internal" href="core/setcompoundschemlib.html"><code class="xref py py-func docutils literal notranslate"><span class="pre">SetCompoundsChemlib()</span></code></a></li>
 <li class="toctree-l2"><a class="reference internal" href="user_contributions.html">Contributing</a></li>
 </ul>
 </li>
@@ -162,27 +169,33 @@ scripts using the functionality of this library.</p>
 </ul>
 </div>
 <div id="searchbox" style="display: none" role="search">
-  <h3>Quick search</h3>
+  <h3 id="searchlabel">Quick search</h3>
     <div class="searchformwrapper">
     <form class="search" action="search.html" method="get">
-      <input type="text" name="q" />
+      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
       <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
     </form>
     </div>
 </div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
+<script>document.getElementById('searchbox').style.display = "block"</script>
+
+
+
+
+
+
+
+
         </div>
       </div>
       <div class="clearer"></div>
     </div>
     <div class="footer">
-      &copy;2013-2023, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
+      &copy;2013-2025, SIB - Swiss Institute of Bioinformatics and Biozentrum - University of Basel.
       
       |
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.4</a>
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
+      Powered by <a href="http://sphinx-doc.org/">Sphinx 5.3.0</a>
+      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
       
       |
       <a href="_sources/users.rst.txt"
diff --git a/loop/src/CMakeLists.txt b/loop/src/CMakeLists.txt
index 39da6810da8562bc25b2c39f57ae153bdcc86908..cd7cc89bd282c6325558b6b333b1bf0164b85b42 100644
--- a/loop/src/CMakeLists.txt
+++ b/loop/src/CMakeLists.txt
@@ -51,4 +51,4 @@ set(LOOP_SOURCES
 
 module(NAME loop HEADERS ${LOOP_HEADERS} SOURCES ${LOOP_SOURCES}
        DEPENDS_ON promod3_core
-       LINK ${OST_LIBRARIES} ${BOOST_LIBRARIES} ${BOOST_IOSTREAM_LIBRARIES})
+       LINK ${OST_LIBRARIES} Boost::filesystem Boost::iostreams)
diff --git a/modelling/src/CMakeLists.txt b/modelling/src/CMakeLists.txt
index 0a618209a8ba5ebb17d40788b619a71b310a6e77..16769178dc66810d5ccc29ee76431200ec54b004 100644
--- a/modelling/src/CMakeLists.txt
+++ b/modelling/src/CMakeLists.txt
@@ -51,4 +51,4 @@ module(NAME modelling
        HEADERS ${MODELLING_HEADERS}
        SOURCES ${MODELLING_SOURCES}
        DEPENDS_ON promod3_core promod3_loop promod3_scoring promod3_sidechain
-       LINK ${OST_LIBRARIES} ${BOOST_LIBRARIES})
+       LINK ${OST_LIBRARIES} Boost::filesystem)
diff --git a/modelling/src/afdb.cc b/modelling/src/afdb.cc
index 1548de1664ebb78747a0dd753ffe485eaf262059..5af380ff85bc8818a77cb44609d4ac6b92bcb94b 100644
--- a/modelling/src/afdb.cc
+++ b/modelling/src/afdb.cc
@@ -217,7 +217,7 @@ void CreatePentaMatch(const ost::seq::SequenceList& seq_list,
   entry_indices.reserve(seq_list.GetCount());
   if(entries_from_seqnames) {
     for(int i = 0; i < seq_list.GetCount(); ++i) {
-      const String& sname = seq_list[i].GetName();
+      String sname = seq_list[i].GetName();
       ost::StringRef s(&sname[0], sname.size());
       std::pair<bool, int> idx = s.trim().to_int();
       if(idx.first == false) {
diff --git a/modelling/src/model.cc b/modelling/src/model.cc
index 5d27cde5f6471f819c9bfa6fc326639a9a9aeb71..f02ca3a85fe07cfc89cd4b78e35e54c1d63934e2 100644
--- a/modelling/src/model.cc
+++ b/modelling/src/model.cc
@@ -399,7 +399,7 @@ void MergeMHandle(const ModellingHandle& source_mhandle,
     throw promod3::Error("start_resnum must be smaller or equal end_resnum!");
   }
 
-  const String& seqres = source_mhandle.seqres[source_chain_idx].GetString();
+  String seqres = source_mhandle.seqres[source_chain_idx].GetString();
 
   if(end_resnum > seqres.size()){
     throw promod3::Error("end_resnum is too big for the underlying SEQRES of "
diff --git a/scoring/src/CMakeLists.txt b/scoring/src/CMakeLists.txt
index b094b380024947c20e5282ad135f429006b4d8c9..354ed90e5d27bec8c3fc844981ca378069dc4c18 100644
--- a/scoring/src/CMakeLists.txt
+++ b/scoring/src/CMakeLists.txt
@@ -57,4 +57,4 @@ module(NAME scoring
        HEADERS ${SCORING_HEADERS}
        SOURCES ${SCORING_SOURCES}
        DEPENDS_ON promod3_core promod3_loop
-       LINK ${OST_LIBRARIES} ${BOOST_LIBRARIES})
+       LINK ${OST_LIBRARIES} Boost::filesystem)
diff --git a/sidechain/src/CMakeLists.txt b/sidechain/src/CMakeLists.txt
index 5930ffeefb030342cb8f59804134760db7cd06dc..4254aad27c10f04d691a6565288337331a87536f 100644
--- a/sidechain/src/CMakeLists.txt
+++ b/sidechain/src/CMakeLists.txt
@@ -55,4 +55,4 @@ set(SIDECHAIN_SOURCES
 
 module(NAME sidechain HEADERS ${SIDECHAIN_HEADERS} SOURCES ${SIDECHAIN_SOURCES}
 	     DEPENDS_ON promod3_core promod3_loop
-       LINK ${OST_LIBRARIES} ${BOOST_LIBRARIES})
+       LINK ${OST_LIBRARIES} Boost::filesystem)